我需要检查用户名是否存在。如果存在,我增加一个变量“form_error”。如果“form_errors”> 0,则我停止代码并返回 false。
但是,当我进行 Ajax 调用时,我不能增加这个变量。可能是范围/可见性问题?
因此,如果我的用户名有错误,我的 form_errors 将永远为 0 并且表单已提交...
我怎样才能增加那个form_errors?
谢谢大家,我留下一段代码
$('#add-sponsor').submit(function() {
var form_errors = 0;
var username = ('#username').val();
$.ajax({
url : location.protocol + '//' + location.host + '/commands.php?action=check-username',
data : {
username : username
},
type : 'post'
}).done(function (result) {
if (result=='false') {
$('#username').parent().addClass('has-error');
$('#username').parent().removeClass('has-success');
$('#username').parent().next('.help-block').text('Questo username già esiste');
form_errors++;
} else {
$('#username').parent().addClass('has-success');
$('#username').parent().removeClass('has-error');
$('#username').parent().next('.help-block').text('');
}
}); // ajax
if (form_errors > 0) {
return false;
}
console.log(form_errors); // <- this is forever 0
}