【问题标题】:Preventing resetting of form after js rejected validationjs拒绝验证后防止重置表单
【发布时间】:2013-11-14 16:42:46
【问题描述】:

我有一个调查,在按钮提交时,它在我的 js 中运行的第一件事是验证是否输入了必填字段。基本上:

if (x == null) {
    alert("You forgot to enter a required field!.");
    return false;
};

如果他们忘记了一个必填字段,有什么方法可以防止页面刷新/重置之前填写的内容?

如果重要或可以在这里提供帮助,此调查将存储到本地存储中。

【问题讨论】:

    标签: javascript html local-storage


    【解决方案1】:

    您可以使用 Jquerys .submit 函数(如果使用 Jquery):

    $('#formID').submit(function(){
        if (x == null) {
            alert("You forgot to enter a required field!.");
            return false;
        }
    });
    

    【讨论】:

      【解决方案2】:

      在表单提交期间处理提交事件并在处理程序方法中返回false。

      【讨论】:

      • 这对前面两个答案有何补充?
      • 之前的答案还没有提交,当我回答这个问题时。
      【解决方案3】:

      首先检查这些答案:

      如果您对使用 jQuery 这样的框架不感兴趣,可以这样做:

      <form name="form" onsubmit="return validate()">
      
      function validate() {
          var input_value = document.forms["form"][" .. input name .. "].value;
          if( input_value == '' ) return false;
      }
      

      如果您有多个输入,我建议使用 foreach 循环遍历它们。

      jQuery 会是这样的:

      $( '#formID' ).on( 'submit', function() {
          event.preventDefault();
          // check input value
          if( valid input ) $( this ).submit();
      });
      

      有趣的阅读:return false vs preventDefault

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-27
        • 1970-01-01
        • 2019-05-24
        • 1970-01-01
        • 1970-01-01
        • 2016-05-22
        • 2016-08-17
        • 1970-01-01
        相关资源
        最近更新 更多