【发布时间】:2014-12-04 20:34:09
【问题描述】:
我有一个 javascript 验证,它检查输入值是否为空。现在我想添加一个验证,即特殊输入不会重复。我为它写了一个php函数和ajax。 Ajax 工作正常,这意味着当我输入一个值时,数据库中已经存在,它会提示“此否已存在”。但是在那个函数调用之后,javascript 就没有工作了。
代码如下:
function checkValue(valdata){
$.ajax({
type: "POST",
url:"success.php",
cache: false,
contentType: false,
processData: false,
data: valdata,
success: function (data) {
if(data == 1){
alert ("This No already exists. ");
return false;
}
}
});
return true;
}
if(document.getElementById("selectErrorcat").value=="selectcategory")
{
alert ("Please select Category");
}
else if(document.getElementById("No").value ==="")
{
alert ("Please enter MLS No field");
}
else if(document.getElementById("mlsNo").value !=="" ){
checkValue(formdata);
}
else if(document.getElementById("title_en").value ==="")
{
alert ("Please enter Property Title EN field");
}
在checkValue(formdata); 之后,javascript 不起作用。有什么问题?
【问题讨论】:
-
checkValue(formdata);之后的else if不会被执行,因为围绕checkValue调用的else if已被执行。 -
已经选择了一种括号样式。比起埃及语,我更喜欢普通风格(新行上的左括号),但至少要保持一致。
-
而且最好不要在相互连接的
else ifs之间放一堆空行。乍一看,它们给人一种错觉,即它们是独立的ifs,而实际上它们并非如此。 -
@JonathanM 是的,但是在 js 的其余部分将执行之后怎么做?
-
您是否在调用函数
checkValue(),然后期望以if(document.getElementById("selecteErrorcat")...开头的代码也被执行?如果是这样,则不会,因为该代码不包含在checkValue()函数中。
标签: javascript php jquery ajax