javascript - 表单未通过 jQuery 验证提交

标签 javascript jquery forms asp.net-mvc-3 jquery-validate

在我的 .net/MVC 项目中使用 jQuery 验证插件时遇到了一个小问题: validation一般没问题,问题出现在提交的时候: 我希望在存在任何验证错误时不提交表单,为此我设置了 debug:true;

但是当提交按钮变得无响应时将其设置为 true 后,即使一切正常,即没有验证错误,点击提交按钮时也不会发生任何事情。如果删除 debug:true 它会提交表单,即使其中存在验证错误。 我想要一个解决这个问题的中间方法,即: 如果有错误单击提交时它不会提交表单并显示错误 如果没有错误,那么它只是简单地提交它。

请帮助 .. 谢谢!

    <script type="text/javascript">
      $(document).ready(function() {
$("#productSubmit").validate( {
  debug : true, rules : {
     prdctttle : {
        maxlength : 50, 
        required : true, 
        onlyChars : true }
     , prdctdscrptn : {
        maxlength : 250, 
        required : true, 
        onlyChars : true }
    }
  , messages : {
     }
  }
); 
}
); 
$.validator.addMethod('onlyChars', function (value) {
return /^[a-zA-Z ,-!]+$/.test(value); }, 'Please enter a valid name with only alphabets');
   $("#productSubmit").validate( {
  submitHandler : function(form) {
     if ($(form).valid()) form.submit(); return false; // prevent normal form posting
     }
  }
);
</script>

最佳答案

更改最后一行以在提交前检查表单是否有效:

$("#productSubmit").validate({ 
    submitHandler: function(form) {  
                           if ($(form).valid()) 
                               form.submit(); 
                           return false; // prevent normal form posting
                    }
 });

编辑:我忘了添加“return false;”停止表单正常提交的行(因此只有在验证通过时才会发生)。

关于javascript - 表单未通过 jQuery 验证提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917128/

相关文章:

javascript - 根据日期时间或一天中的时间更改 CSS

JQuery Sortable - 嵌套句柄

php - 如何在不重定向到该表单操作页面的情况下处理表单操作的结果?

javascript - 单击 map 上的位置以查找最近的位置

javascript - 改变状态会导致 props 改变

javascript - 更新照片期间 Ajax 调用中的 MethodNotAllowedHttpException (Laravel)

java - 从浏览器地址栏复制 URL 并使用 html 粘贴到表单中?

javascript - 在一个表单字段中获取多个用户输入

javascript - 更改 AngularJS 中的时间格式

javascript - Jquery 表单提交不起作用