【问题标题】:Disable Form on Submission Javascript / HTML在提交 Javascript / HTML 时禁用表单
【发布时间】:2017-10-10 02:07:11
【问题描述】:

我有一个表单,如果点击多次,就会提交多次。我想禁止表单多次提交。

这是按钮:

 <a style="float:right" onclick="javascript:document.forms['form1'].submit();" class="button"><span><bean:message key="common.continue"/></span></a>

任何帮助将不胜感激

【问题讨论】:

    标签: javascript html forms submit


    【解决方案1】:

    快速而肮脏,无需更改太多代码

    只需将html部分更改为:

    <a style="float:right" onclick="javascript:document.forms['form1'].submit();this.disabled=true;" class="button"><span><bean:message key="common.continue"/></span></a>
    

    【讨论】:

    • click 事件仍会触发并再次提交表单。这是一个锚标签而不是输入或按钮
    • 这很酷。编辑帖子以提供合适的答案或将其删除。比被否决更好:)
    【解决方案2】:

    在提交表单而不是内联 js 时调用函数。

    HTML

     <a style="float:right" onclick="myFunction()" class="button"><span><bean:message key="common.continue"/></span></a>
    

    Javascript

        var submitForm = true; //For first time submission
        function myFunction(){
            if(submitForm){
                submitForm = false; //do not allow it to be submitted again
                document.forms['form1'].submit();
            }
        }    
    

    【讨论】:

      【解决方案3】:

      如果您关心安全性,则必须在服务器端进行验证。 Javascript 保护很容易被绕过。 如果您可以访问服务器代码,您可以在数据库中检查客户端发送的完全相同的信息是否已经存在。

      否则,您应该结合使用这两种方法,禁用 html 按钮并设置一个变量以记住表单已发送。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多