ユーザーが送信しようとしているときに実行されるjQueryフォーム検証スクリプトがあります。フォームが検証された後、フォームが送信される前に、AJaX リクエストを使用して別の関数を実行 (および完了) したいと考えています。
これがスクリプトです。zglosip関数は、個別に呼び出すと問題なく動作します。つまり、submit()
関数内からではありません。
zglosip(); (呼び出したい関数)
function zglosip() {
$.ajax({
type : 'post',
url : 'res/php/nZglos.php',
data : {
"erepid" : "111",
"ip" : "222",
"poz" : "333"
},
success : function(data, textStatus, jqXHR) {
tempor.html(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
tempor.html(errorThrown);
},
dataType : 'text'
return true;
});
};
検証スクリプト ( Joren Rapiniによって作成され、私によって変更されました)
極と一時は、いくつかの div の名前を含む変数です
$("#forml").submit(function(){
//Validate required fields
if ((pole.val() == "") || (pole.val() == blad)) {
pole.addClass("podkresl");
pole.val(blad);
} else {
pole.removeClass("podkresl");
}
// Validate the e-mail.
if (!/\b(https?|ftp|file):\/\/[\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[\-A-Za-z0-9+&@#\/%=~_|]/.test(pole.val())) {
pole.addClass("podkresl");
pole.val(blad);
}
if ($(":input").hasClass("podkresl")) {
return false;
} else {
if (zglosip() == true) {
return true
}
}
});
submit()
既にお気づきのように、true が返された後に関数の true を返そうとしましたzglosIp()
(スクリプトの下部にある if ステートメント)。残念ながら、これは機能しませんでした。zglosip()
別の呼び出しも試みfunction{return true}
ましたが、適切に使用していません。私を助けてください。