我有个问题。。。我试图获取所有输入字段数据进行验证,但.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;
});
});
我只是猜测,但可能你的上下文不对。
如果页面上有多个具有相同名称的输入,则必须告诉jQuery应该使用哪一个。
在提交回调中,this
指的是表单元素。所以你可能看起来像这样:
var user_name = $("input[name=user_name]", this);
var user_password = $("input[name=user_password]", this);