与“按钮”型jQuery验证,而不是“提交”类型的表单(JQuery validation with

2019-07-30 22:44发布

$(“选择”)。验证()似乎要建更多的比“按钮”类型“输入”类型的按钮。 我怎么会得到这样的形式中的按钮类型的工作?

@using(Html.BeginForm(new {id="TheForm"}))
{
     // code here
     <input id="TheButton" type="button">
}

JQuery的:

$(document).ready(function() {
      $("#TheForm").validate({
            rules: {
                 "AuditDoc.Title": {
                       required: true
                  }
            }
      });
      $("#TheButton").click(function() {

      });
});

使用这个基本思想,我怎么会得到JQuery验证一个按钮的工作,而不是提交类型的按钮? 我见过的例子,其中jQuery将自动显示错误消息时使用提交类型不符合规则,但它不会出现与按钮类型的工作。 我会很感激的任何建议!

Answer 1:

$(document).ready(function () {
        $("#TheForm").validate({
            rules: {
                "AuditDoc.Title": {
                    required: true
                }
            }
        });

        $("#TheButton").click(function () {
            if (!$("#TheForm").validate()) { // Not Valid
                return false;
            } else {
                $("#TheForm").submit()
            }
        });

        $('#btnReset').live('click', function (e) {
            //var $validateObj = $('#formId');
            //Or
            var $validateObj = $(this).parents('form');

            $validateObj.find("[data-valmsg-summary=true]").removeClass("validation-summary-errors").addClass("validation-summary-valid").find("ul").empty();
            $validateObj.find("[data-valmsg-replace]").removeClass("field-validation-error").addClass("field-validation-valid").empty();
        });
    });


Answer 2:

$(document).ready(function(){

     $("#myform").validate();
     $("#byuttion").click(function() {

       if($("#myform").valid())
       {
          $("#myform").submit();
       }
       else 
      {
          return false;
      }

      });

});


Answer 3:

一个hackish的方式可以是:

$("#TheButton").click(function() {
     $("#TheForm").submit()
});


Answer 4:

它的工作原理几乎相同,因为它会与正常输入,除了它不支持提交方法。 的preventDefault刚刚从做这件事的默认请求停止页面。

$("#TheButton").click(function(event) {
    event.preventDefault(); //or return false
    getData();
});


文章来源: JQuery validation with “button” type rather than “submit” type for a form