3
私はちょっと新しいjQuery
です。私は以下のようにjQueryのコードを持っている:jQueryでtrueが返されないreturn
function callfunction() {
var email = $("#email").val();
var passwrd = $("#password").val();
$.ajax({
url: "checklogin.php?email="+email+"&pass="+passwrd,
type: "post",
success: function (response) {
if(response == '1') {
alert('Login Successfull. Proceed to pay now');
$('#getre').show();
$('#signuplink').hide();
$('#password2').hide();
$('#login').hide();
$('#email').attr('disabled','disabled');
return true;
}
if(response == '0') {
alert('Login Failed !!! Try Again');
return false;
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
}
とそのHTMLコードは以下の通りです:
<form class='form form-inline' style="margin-top:20px;" method="post"
action="#">
<input type="text" name="email" id="email" class="amount form-control required" Placeholder="Enter Email ID" required="">
<input type="password" name="password" id="password" class="amount form-control required" Placeholder="Enter Password" required="">
<input type="submit" name="getr" class="mob-btn btn btn-primary btn-info-full" value="Login" onClick="return callfunction()">
</form>
私は私が提出したくないしながら、フォームがデータを提出されたフォームとresponse ==0
を提出していますデータはresponse=0
です。
これをどのように達成できますか?
あなたはそのようにプログラミングAsynchronusを利用することはできません。 – omerowitz
'$ .ajax'は非同期なので、' callfunction'は応答を受け取る前に戻ります。あなたの唯一の選択肢は、常にfalseを返すようにし、必要な場合に提出をトリガすることです。 – jcaron