-4

重複の可能性:
jQuery 検証: 必須フィールドの一部が入力されていませんが、フォームは送信できます

フォームの検証に jquery 検証 ( http://bassistance.de/jquery-plugins/jquery-plugin-validation/ ) を使用しました。

HTML:

<form id="formID" action="/processForm" method="post">
  ...
  <input type="submit" value="Submit" />
</form>

jQuery:

$("#formID").validate({
  onkeyup:false,
  rules: {
    ...
  },
  messages: {
    ...
  }
});


// Submit the form by Ajax
$(document).ready(function() {
  $('.formID').ajaxForm({
    success: function(returnData) {
      $('#content').html(returnData);
    }
  });
});

現在、フォームは Ajax 関数ではなく、validate() 関数によって送信されているようです。

Ajax 関数を引き続き使用するにはどうすればよいですか?

4

2 に答える 2

1

validate()現在、フォームは Ajax 関数ではなく関数によって送信されているようです。Ajax 関数を引き続き使用するにはどうすればよいですか?

これは、validate()プラグインに既にsubmitHandler:ビルトインがあるためです。submitこれを適切に使用し、同じイベントに作用する複数の関数間の潜在的な競合を回避する方法を次に示します。

$(document).ready(function() {

    $("#formID").validate({
      onkeyup:false,
      rules: {
        ...
      },
      messages: {
        ...
      },
      submitHandler: function(form) {
          form.ajaxForm({
              success: function(returnData) {
                  $('#content').html(returnData);
              }
          });
      }
    });

});
于 2013-01-14T19:04:26.013 に答える
-1

このJSを試してください:

$('#formID').on('submit',function(){

// call your function which send AJAX  reuest
// Or code of sending ajax reauest

return false;

})
于 2013-01-14T15:47:18.020 に答える