[英]javascript validation and ajax call simultaneously not working
我在javascript和ajax調用中需要同時工作的代碼。 但這沒有用。 並且總是去返回true。
create function的功能是對數據進行驗證並執行ajax調用,這些查詢將執行查詢並取決於結果將進一步執行。 如果響應文本為是,則調用confirmval函數。 然后進一步要求確認和下一次執行,但是我面臨的問題是函數不返回false總是變為true。 我不明白為什么會這樣?
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調用后返回兩個值:
if(result=="yes"){
return confirmval(companyname,username);
return false;
}
這將僅返回confirmval函數的結果(似乎總是返回true),並且永遠不會運行“ return false”行,因此它將始終返回true。
如果您需要那個result ==“ yes”來返回false,那么我可能會建議您:
if(result=="yes"){
var confirmvalResult = confirmval(companyname,username);
if(confirmvalResult) {
return false;
} else {
// not sure what you want to do here
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.