javascript - jQuery - 验证结果与 JS Fiddle 演示不同

标签 javascript jquery

我遇到一个非常奇怪的问题,当我的 JS Fiddle 上的相同代码工作正常时,我的工作文件的代码不起作用。

我所做的只是检查用户名或密码字段是否提交为空白。 由于某种原因,我的工作平台代码没有获取任何输入值。

我已经检查过很多次,确保我处于相同的代码环境中 但一切都是一样的。我不知道从这里到哪里去。

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

        var username = $('#username_1').val();
        var password = $('#password_1').val();

        if ( username === '' || password === '' ) {
            $('.fa-user').removeClass('success').addClass('fail');  
        } else {
            $('.fa-user').removeClass('fail').addClass('success');      
        }

    });
})(jQuery);

我的 if 语句是否违反了任何可能导致不一致的规则?

JS Fiddle

最佳答案

问题是你的<form>元素正在提交,从而重新加载页面。我建议修改表单的submit事件而不是给按钮一个 click事件,因为表单通常但不一定通过单击按钮触发。另外, return false is not a good way of disabling behaviour .

示例:

(function($){
    $('#form_1').submit(function (event) {
        var username = $('#username_1').val();
        var password = $('#password_1').val();
        if ( username === '' || password === '' ) {
            event.preventDefault();
            $('.fa-user').removeClass('success').addClass('fail');
        }
        else {
            $('.fa-user').removeClass('fail').addClass('success');      
        }
    });
})(jQuery);

这是 fiddle :http://jsfiddle.net/RyanJW/VqwNw/1/

关于javascript - jQuery - 验证结果与 JS Fiddle 演示不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000733/

相关文章:

javascript - 我的 js 函数无法同时处理 2 个调用

javascript - 在javascript中定义两个同名的对象

javascript - 输入更改时jquery文本更改

javascript - 如何在嵌套数组javascript中找到最近的元素?

javascript - 如何清除 angularJS 数组

javascript - 在 <option> 或 .val() 中为国家/地区赋值

javascript - 蛇游戏尾部的正确位置

jquery - Bootstrap 提交按钮不提交

javascript - 通过 Prop 传递功能后 react 和检查条件

javascript - 函数内的 for 循环(新手)