zoukankan      html  css  js  c++  java
  • yii2-lock-form 也许这就是你想要的,阻止表单多次提交

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

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

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

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

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

    第二步:上个厕所

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

    轻轻的敲入:

    'depends' => [
        //other depends
        'lightwidgetsLockBsFormAsset'
    ]

    如果你没使用 yii2-bootstrap 也能满足您:你只需要将 lightwidgetsLockBsFormAsset 替换成 lightwidgetsLockFormAsset.

    还需要做什么?

    如果还需要做的话,那就是定制一下 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

  • 相关阅读:
    汉语-词语:冷静
    汉语-词语:沉着
    汉语-词语-稳重:百科
    汉语-词语:沉稳
    汉语-词语-丘壑:百科
    Struts中的常量
    算法整理(四):浅析高速排序的优化问题
    互联网+时代,是更加开放还是封闭
    UI复习练习_优酷布局
    fread与read的差别(文件io补充)
  • 原文地址:https://www.cnblogs.com/yhdsir/p/5181816.html
Copyright © 2011-2022 走看看