6

$('selector').validation() 似乎是为“输入”类型按钮而不是“按钮”类型构建的。我如何让它与表单中的按钮类型一起使用?

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

查询:

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

      });
});

使用这个基本思想,我将如何让 jquery validate 使用按钮而不是提交类型按钮?我见过一些例子,当使用提交类型不满足规则时,JQuery 会自动显示错误消息,但它似乎不适用于按钮类型。我会很感激任何建议!

4

4 回答 4

7
$(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();
        });
    });
于 2012-08-11T13:04:11.017 回答
6
$(document).ready(function(){

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

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

      });

});
于 2012-08-11T13:09:18.837 回答
4

一种骇人听闻的方式可能是:

$("#TheButton").click(function() {
     $("#TheForm").submit()
});
于 2012-08-11T12:25:22.780 回答
3

它的工作原理与普通输入几乎相同,只是它不支持提交方法。preventDefault 只是阻止页面执行默认请求。

$("#TheButton").click(function(event) {
    event.preventDefault(); //or return false
    getData();
});
于 2012-08-11T12:30:46.087 回答