提问人:Astw41 提问时间:7/31/2022 最后编辑:Astw41 更新时间:8/1/2022 访问量:52
提交 ajax 表单时 AddClass 不起作用
AddClass doesn't work when ajax form is submitted
问:
我正在尝试为我的ajax表单创建验证。当您提交表单时,当输入为空时,我想在输入周围创建一个红色边框。
不幸的是,不起作用。警报显示,但仅此而已。addClass()
$(function() {
$('#form').on('submit', function(e) {
e.preventDefault();
if ($('.required').val() === '') {
$('.required').addClass('error');
alert("error");
}
$.ajax({
type: "post",
url: 'php/php.php',
data: new FormData(this),
processData: false,
contentType: false,
success: function() {
document.getElementById("text").innerHTML = "success";
document.getElementById("add").style.border = "2px solid green";
},
error: function() {
document.getElementById("text").innerHTML = "error";
document.getElementById("add").style.border = "2px solid red";
}
});
});
});
.error {
border: solid 2px red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<form id="form" method="POST" action="php/php.php">
Name:
<input type="text" name="Name" id="name" class="required"><br>
<input type="submit" name="Add" id="add">
</form>
我查看了其他一些帖子,但仍然无法解决问题。
编辑:似乎xampp在导入外部CSS文件(或至少更新数据)时遇到了一些问题。问题已解决。
答:
0赞
Aman
8/1/2022
#1
你使用的是jquery UI吗?,因为jquery ui中有一个异步函数,因此,首先运行下一行中的语句,这会阻塞主线程。addClass
alert
评论
0赞
Rory McCrossan
8/1/2022
使用 jQueryUI 时不会是异步的。您需要提供第二个参数 duration 以使其异步(请参阅文档)。由于 OP 没有这样做,因此您描述的不是问题。addClass('error')
评论
.error