我正在尝试为表单创建实时验证脚本。我想无论如何我已经明白了......但是当字段中有文本时而不是没有文本时会出现错误消息。我确信我做了一些愚蠢的错误,我很确定我的 if 值是正确的, value == ''
是 if value 什么都没有, value !== ' '
是如果值不是空的,对吗?啊,也许这是我应该改变的 on/change 事情?希望你能帮忙。谢谢。
$(document).ready(function () {
$('#name').on('change', function() {
var name = $("#name").val();
if (!this.value == '') {
$("#errorname").fadeIn();
$('#errorname').css("display", "inline-block");
$('#errorname').css("color", "#838383");
$('#errorname').css("background-color", "#fff568");
}
else if (!this.value !== '' ) {
$("#errorname").fadeOut();
$('#errorname').css("display", "none");
}
});
});
最佳答案
大声读出您的if
条件。这应该可以帮助您意识到问题出在哪里:
if (!this.value == '') { /* Show the error */ }
“如果不是,则该值等于空字符串”。或者,以更容易理解的形式,“如果该值不等于空字符串”。您实际上想要显示错误“如果此值等于等于空字符串”。
if (!this.value !== '' ) { /* Hide the error */ }
“如果不,则该值不等于空字符串”。再次,更具可读性的是,“如果该值不等于空字符串”。您实际上想隐藏错误“如果此值不等于空字符串”。
如果您remove the first negation from both conditions,您的代码将起作用.
关于javascript - jQuery 实时验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15549782/