gpt4 book ai didi

jQuery 隐藏元素和 isVisible 问题

转载 作者:行者123 更新时间:2023-12-01 01:04:36 25 4
gpt4 key购买 nike

我基本上是在尝试进行表单验证。一切都很好。除了一件事。首先,这是我的代码:

        $('#submit_btn').click(function(){  

$("input:not([type=radio],[type=checkbox])").each(function() {
if ($(this).val() == ""){
$('#'+$(this).attr("name")+'_error').show("");
}
else{
$('#'+$(this).attr("name")+'_error').hide("normal");
}

});
if(!($("div[id$=error]").is(":visible")))
alert("a");

});

单击提交按钮后,它会检查非单选按钮或复选框的输入。如果输入为空,则会显示错误。

如果输入某些内容,错误就会被隐藏。

最后,我检查是否有任何错误消息可见,如果没有,我将提交表单。

我的问题是,我用 .hide("normal") 的小动画隐藏了错误消息。所以我相信在隐藏最后一个错误消息的过程中,我的最后一个 if 语句执行并且它认为有一个可见的错误消息(但是,它正在隐藏过程中)

隐藏过程完成后如何执行 if 语句?

就我而言,当没有留下错误消息时,我会在再次单击提交按钮后收到警报。

我希望我清楚我的问题。如果没有的话我会尝试重写它。

谢谢!

最佳答案

使用 :visible 这样做有点笨拙,而且速度肯定很慢。使用变量代替:

$('#submit_btn').click(function(){  
var error = false;

$("input:not([type=radio],[type=checkbox])").each(function() {
if ($(this).val() == ""){
$('#'+$(this).attr("name")+'_error').show(400);
error = true;
}
else{
$('#'+$(this).attr("name")+'_error').hide(400);
}
});
if(error)
alert("a");

});

关于jQuery 隐藏元素和 isVisible 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4760338/

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