是不是被用户的行为所困扰?

一个表单用户点击提交按钮了N次,这也导致了数据提交了N次。

为了此受到了测试的欺辱,受到了老板的批评?

不用怕,它就是来拯救你的。

第一步:打开命令行,敲入 composer require light\yii2-lock-form=~1.0.0

第二步:上个厕所

第三步:如果你的项目中已经使用了 yii2-bootstrap, 那么好,只需要在的你的 AppAsset 「whatever, 只要你全局依赖的就成」

轻轻的敲入:

'depends' => [
//other depends
'light\widgets\LockBsFormAsset'
]

如果你没使用 yii2-bootstrap 也能满足您:你只需要将 light\widgets\LockBsFormAsset 替换成 light\widgets\LockFormAsset.

还需要做什么?

如果还需要做的话,那就是定制一下 Lock 用语,

Html::submitButton('提交', ['data-loading-text' => '正在提交数据, 不让你点,哼'])

说了这么多,东西在那儿?

https://github.com/lichunqiang/yii2-lock-form

重要的事情要说三遍:star,star, star, little star, 一闪一闪亮晶晶。

GetYii 目前的做法是简单粗暴的做法,在全局 js 中添加下面 js:

// 防止重复提交
$('form').on('beforeValidate', function (e) {
$(':submit').attr('disabled', true).addClass('disabled');
});
$('form').on('afterValidate', function (e) {
if (cheched = $(this).data('yiiActiveForm').validated == false) {
$(':submit').removeAttr('disabled').removeClass('disabled');
}
});
$('form').on('beforeSubmit', function (e) {
$(':submit').attr('disabled', true).addClass('disabled');
});

来源:http://www.getyii.com/topic/261

最新文章

  1. pmd静态代码分析
  2. Linux下java进程CPU占用率高分析方法
  3. WinCE项目应用汇总
  4. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止暴力破解密码、提高大型信息系统安全
  5. C++11笔记<一>
  6. linux_shell_5_shell特性_正则_1
  7. BZOJ 4034 BIT & Dfs序
  8. Java开源框架推荐(全)
  9. BZOJ3058 四叶草魔杖
  10. MySQL 查询某时间段范围内的数据 补零
  11. qt 与mysql建立交互式连接
  12. 应用app首次进入导航页动画
  13. 「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)
  14. ElasticSearch 学习记录之父子结构的查询
  15. dojo加载树报错
  16. L2-018 多项式A除以B(模拟)
  17. nodejs连接数据库的增删改查
  18. Visual Studio 2013安装及简单的单元测试
  19. 一些liunx base-fs、mini-fs、docker image 系统 安装kernel、grub文件,使之独立运行的注意事项
  20. C#中datagridview选中行后textbox显示选中的内容

热门文章

  1. elasticJob分片跑批
  2. 深入Redis漏斗限流
  3. Android_Exception_Solution Lib
  4. Spring MVC属性方法名称解析器
  5. Eclipse 创建 Java 接口
  6. WPF 属性系统 依赖属性之内存占用分析
  7. Android开发:《Gradle Recipes for Android》阅读笔记1.4
  8. 【BZOJ2034】[2009国家集训队]最大收益 贪心优化最优匹配
  9. knockoutJs在移动设备上有时无法更新控件值
  10. Linq 基本操作