私は複数のフォームを持つページを持っています。各フォームには独自の保存ボタンがあり、.ajax()を使用してポストする(通常のポストメソッドではない)エラーメッセージを検証して表示します。私はまた、jQueryのclick()ハンドラによって捕捉されたフォームの外に次のボタンを持っています。この関数は各フォームを通り、それぞれに対して$(formname).submit()を呼び出します。jqueryを使用してsubmit()から戻り値を取得する
最終的に、リダイレクトが行われるかどうかを判断するために、個々のフォームが検証に合格したかどうかを知る必要があります。私は、提出機能の検証チェックのelseステートメントにreturn false;
を追加しましたが、それを取得する方法がわかりません。
alert($(this).submit());
の場合、戻り値ではなくオブジェクトが返されます。各フォームの$ .ajaxポストコード全体を再コーディングせずに、とにかく送信が失敗したかどうかを知ることができますか?誰もが知っている必要がある場合には
//next button click
$('#savenext').click(function() {
var finalsuccess;
$('.record_form').each(function (index) {
alert($(this).submit()); //I want this to be true or false
});
//forms each have their own submit handler
$(formname).submit(function (e) {
e.preventDefault();
var form = $(this);
if($(form).valid()) { //validate the form, return false if it is not valid.
//Post the form to the action if it passes
$.ajax({
url: form.attr('action'),
type: "POST",
dataType: "text json",
data: form.serialize(),
success: function (response) {
//does some success messages here
},
});
}
else {
return false;
}
});
おかげ
代わりに 'jquery Validation'プラグインを使用してみませんか? : -/ – uday
こんにちは@Dave。検証はすごくうまく動くので、私はそれを変更する必要はありません。私は、単にform.submit()から応答を返す最良の方法を理解する必要があります。プラグインにこれを許可するものがありますか? – Danni