javascript - jQuery 实时验证

标签 javascript jquery

我正在尝试为表单创建实时验证脚本。我想无论如何我已经明白了......但是当字段中有文本时而不是没有文本时会出现错误消息。我确信我做了一些愚蠢的错误,我很确定我的 if 值是正确的, value == '' 是 if value 什么都没有, value !== ' ' 是如果值不是空的,对吗?啊,也许这是我应该改变的 on/change 事情?希望你能帮忙。谢谢。

http://jsfiddle.net/Vjwxs/3/

$(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/

相关文章:

PHP+AJAX发送数据(链接)麻烦

javascript - 可滚动的 div 粘在底部,当外部 div 的大小发生变化时

javascript - 如何在 Chrome 开发人员工具中实时查看数据属性值?

jquery - ul li 行但有序

javascript - 当我点击打开 "sidr side menu"时,我也点击了我的侧边菜单项

javascript - 如何在 Algolia 中按持续时间搜索

javascript - 正则表达式量词

javascript - 如何使用 jQuery 删除不在 DOM 上的元素?

javascript - 显式返回转义的 JSON 响应与仅在 Laravel/PHP 中返回数组

javascript - 如何使用javascript记录一次点击以更改下一页的内容