6

$('selector')。validation()は、「ボタン」タイプよりも「入力」タイプのボタン用に作成されているようです。フォーム内のボタンタイプでどのように機能させるのですか?

@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がエラーメッセージを自動的に表示する例を見てきましたが、ボタンタイプでは機能しないようです。アドバイスをいただければ幸いです。

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

1つのハックな方法は次のようになります。

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

submitメソッドをサポートしていないことを除けば、通常の入力の場合とほとんど同じように機能します。PreventDefaultは、ページがデフォルトの要求を実行するのを停止するだけです。

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