我有代碼在那個JavaScript和Ajax調用需要同時工作。但它沒有奏效。並始終迴歸真實。javascript驗證和ajax調用同時不工作
創建函數的功能是驗證執行查詢的數據和ajax調用,並依賴於進一步執行的結果。如果回覆文字爲是,則請致電confirmval函數。然後進一步要求確認和下一次執行但我面臨的問題是函數不返回false它總是成真。我不明白爲什麼會發生這種情況?
function create()
{
if (document.companyregister.cmpname.value === "")
{
alert("Please Enter Company name");
document.companyregister.cmpname.value = "";
document.companyregister.cmpname.focus();
return false;
}
var companyname = document.companyregister.cmpname.value;
var username = document.companyregister.username.value;
$.ajax({
url: 'checkexisting.php',
type: 'POST',
data: {companyname: companyname,username:username},
success: function(errorResponse) {
var result = errorResponse.trim();
if(result=="yes"){
return confirmval(companyname,username);
}
else{
document.getElementById("formsubmitting").style.display = "block";
document.getElementById("hidesubmit").style.display = "none";
return true;
}
}
});
}
function confirmval(companyname,username){
var c = confirm("This company is already created.\nWould you like to delete existing company?");
if(c){
alert("c");
$.ajax({
url: 'updatecompany.php',
type: 'POST',
data: {companyname: companyname,username:username},
success: function(responsetext) {
var result = responsetext.trim();
if(result=="yes"){
document.getElementById("formsubmitting").style.display = "block";
document.getElementById("hidesubmit").style.display = "none";
return true;
}
}
});
}
else{
alert("notc");
window.location="http://www.google.com";
}
}
你不能從一個異步Ajax調用返回。 – epascarello
那麼我怎樣才能實現這種問題 – LOKESH
更確切地說:你從異步調用返回「返回」無處。您可能需要在ajax成功函數中調用回調函數。 –