Submitted by gouki on 2018, January 3, 11:18 PM
放到javascript里为实在是意外 。主要是这应该是属于前端的事情。
起因是这样的,一个checkbox,在没有选中前提交。POST过来的数据中。连checkbox对应的name的KEY,在$_POST中就不存在。这个就尴尬了。因为正常操作是form.submit(),或者是用$.post('xxx',$('#form').serializeArray())。这两种情况下,未选中的checkbox直接就消失在$_POST中了
表单的KEY比较多,将近20个(有点夸张,但是是事实)。如果一个个的写 var xxx = $('xxx:checked').val()||0; 这样也好痛苦的说~~
网上找了一下,看到这个:https://stackoverflow.com/questions/1809494/post-the-checkboxes-that-are-unchecked,
投票最高的居然是:
XML/HTML代码
- <form>
- <input type='hidden' value='0' name='selfdestruct'>
- <input type='checkbox' value='1' name='selfdestruct'>
- </form>
原理就是,如果selfdestruct有值,默认下面有值的会覆盖上面的。因为一个FORM里同名的key只能有一个。如果selfdestruct没有选中,那么就会用hidden里的值!
Javascript | 评论:0
| 阅读:13293
Submitted by gouki on 2017, December 31, 11:33 PM
以前写作文和每年写总结的时候,都喜欢用光阴似箭光阴如梭,现在再回过头来看,也确实是太快了
这一年,感觉啥事情都没有做成,不能算是混混噩噩吧,但也确实没有做成什么事。外包带来最大的问题就是没有积累,就是在不停的往前走,不知道何时是个尽头。
之所以说是没有积累,是因为每次接活的行业都不一样,然后导致代码的可复用性就差了。相当于就变成0积累。
2018年要改变这种情况,先定一下1~2个行业,真要有活就只在这1~2个行业里折腾,其他的不碰,或者推荐靠谱的团队来完成。希望明天会更好
GO,2018!
Misc | 评论:1
| 阅读:16260
Submitted by gouki on 2017, December 11, 12:47 PM
注:以下技巧在composer2下面已经没必要了。!!!!!
升级成composer2吧,全解决了
-------------
因为我一直用Yii2框架。所以安装composer和安装后需要执行的命令如下,【纯记录】
1、下载composer
composer下载(具体详细的还需要:https://getcomposer.org/download/ ,必须 sha 还是经常会变的,鉴于可能经常会变所以注释掉了第二行)
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- #php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
- php composer-setup.php
- php -r "unlink('composer-setup.php');"
-
2、mv composer.phar /usr/local/bin/composer #移到系统目录,变成全局命令
3、composer config -g repo.packagist composer https://packagist.phpcomposer.com #国内源
phpcomposer好象垮了!
更新为:composer config -g repo.packagist composer https://packagist.laravel-china.org
4、composer global require hirak/prestissimo #多线程
5、composer global require "fxp/composer-asset-plugin:^1.4" #升级为1.4
6、composer update -vvv
就这样了
合并后的命令
XML/HTML代码
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- php composer-setup.php
- php -r "unlink('composer-setup.php');"
- mv composer.phar /usr/local/bin/composer
- composer config -g repo.packagist composer https://packagist.phpcomposer.com
- composer global require hirak/prestissimo
- composer global require "fxp/composer-asset-plugin:^1.4"
- composer update -vvv
- #over
如果采用了git,记得在运行完clone后:git config credential.helper store ,可以将当前用户名和密码存下来(针对HTTP方式,如果是ssh本来就不需要)
PHP | 评论:1
| 阅读:32883
Submitted by gouki on 2017, December 11, 1:05 AM
我的mac其实在一早使用的时候就分过区,结果 现在主分区快满了。感觉性能在下降于是就想将用户目录迁移。但目前没有看到特别好的办法。所以我就先用rsync迁移到另一个分区。再在个人设置里指定分区目录
1、先rsync到新的目录
2、到系统设置里找到登录,右键你自己的账号,选择高级设置。将用户目录指向刚才同步完的目录
3、系统提示你重启。确认重启
4、完事儿~,删除旧有目录(如果不放心就先保留一段时间)
就是这么简单
苹果相关 | 评论:0
| 阅读:14206
Submitted by gouki on 2017, December 3, 3:36 PM
这回移植的比较彻底。当然也是先使用了网上的代码。不然的话,我初期的一些基础性的东西也要重写
1、写了一些简单的方法,比如yUrl,yRequest,yUser等,然后因为是laraval的玩意,里面有一个方法app(),不得已我重写了一下!否则有部分代码就没法实现了。其实也可以用yHtml来整体替换Html::的。但最终没有这么做。。yHtml =》 app('yii\??\Html')的调用罢了(不多写。记不住详细 代码)
2、引入了皮肤概念。网上的一些代码默认应该都是不支持theme的。正好我有项目要用到theme。不得已,再次加入。同时支持module里的调用(笑哭)
目前有小部分还是以硬编码的形式存在。
最后。因为尝试部分代码使用vue,就遇到了{{}}的冲突。其实blade默认就支持@{{}}来解决冲突(只要是vue的变量,就必须 是@{{}} )
完
PHP | 评论:0
| 阅读:14902