gpt4 book ai didi

javascript - 使用 ajax 进行 Jquery 表单验证

转载 作者:行者123 更新时间:2023-11-28 15:54:32 25 4
gpt4 key购买 nike

我需要检查用户名是否存在。如果存在,我会增加一个变量“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
}

最佳答案

$.ajax 函数是异步的,因此将继续执行

if (form_errors > 0) {
return false;
}

在执行完成函数之前。

关于javascript - 使用 ajax 进行 Jquery 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19377686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com