我一直试图修复这个bug超过一个小时但是 - 绝对没有运气。我可能会遗漏一些简单的东西,或者只是我没有意识到别的东西。无论如何,这就是事情:
我正在尝试向验证器添加验证方法,这似乎会导致麻烦。这是我的代码:
jQuery.validator.addMethod("isGroupExist", function() {
var result_value = true;
$.post('/includes/script_files/isGroupExist.php', { authorized: true,
groupName: $('#groupName').val() }, function(returnedData) {
alert(returnedData);
if(returnedData=='true')
result_value = false;
else
result_value = true;
});
return result_value;
}, "Group Name already exists, please pick a different one."
);
请不要理会我是怎么写的,我只是尝试了几种方法来解决这个问题。无论如何,问题是'result_value'永远不会返回'false',即使分配给它的变量等于'false'。当它显然不应该时,它永远保持“真实”。我仔细检查了我的功能,一切正常,包括外部文件。 'returnedData'有时会返回'true',有时会返回'false',但是尽管它有价值,'result_value'也不会更新。
有什么想法吗?
答案 0 :(得分:0)
似乎我已经设法自己解决了这个问题,但是做了大量的研究工作。
$.validator.addMethod("isGroupExist",function(value,element){
var result = $.ajax({
url: "/includes/script_files/isGroupExist.php",
type: "POST",
async: false,
//data: "action=checkusername&username="+username,
data: "authorized=true&groupName="+value,
}).responseText;
return result==="good"?false:true;
},"Group Name already exists, please pick a different one.");