3

我有一个问题...我正在尝试获取所有输入字段数据以进行验证,但是 .val() 从 html 返回默认值,而不是用户输入的值。也许是因为我在 domready 里面有这个脚本?我无法弄清楚......为了让jsfiddle上的事情变得更好,它可以工作!:S

$(document).ready(function() {


        //Login Ajax
        $("#loginform").submit(function(){
            var url = $(this).attr("action");

            //Get input variables
            var user_name = $("input[name=user_name]");
            var user_password = $("input[name=user_password]");

                        //border control
                        if (user_name.val() == "username" && user_password.val() == "password") {
                            user_name.addClass("error");
                            user_password.addClass("error");
                            return false;
                        } else {
                            user_name.removeClass("error");
                            user_password.removeClass("error");
                        }

                            if (user_name.val() == "username") {
                                user_name.addClass("error");
                                return false;
                            } else {
                                user_name.removeClass("error");
                            }

                        if (user_password.val() == "password") {
                            user_password.addClass("error");
                            return false;
                        } else {
                            user_password.removeClass("error");
                        }

            return false;
        });


        //Registration Ajax
        $("#regsitrationform").submit(function(){
            var url = $(this).attr("action");


            return false;
        });


});
4

1 回答 1

2

我只是猜测,但也许你在错误的上下文中。

如果你的页面上有多个同名的输入,你必须告诉 jQuery 应该使用哪一个。

在您的提交回调this中是指表单元素。所以你可能看起来像这样:

var user_name = $("input[name=user_name]", this);
var user_password = $("input[name=user_password]", this);
于 2013-02-25T10:58:32.983 回答