我正在尝试使用validate插件,但我猜它没有正确设置。这是我的标题:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<title>Registration Page 2</title>
<script type="text/javascript">
$(document).ready(function(e) {
$("#everything").submit( function() {
var data = $("#everything").serializeArray();
$("#everything").validate({
alert(data);
});
return true;
});
});
</script>
</head>
但它没有识别验证方法,所以它没有使用它。我应该使用不同的来源吗?任何人都可以看到任何问题吗?
P.S:无论如何将表格中的所有数据序列化为数组,以便我可以像
那样引用它data["first_name"]
我尝试了serializeArray并做了:
alert(data["first_name"]);
但它说这是未定义的。谁知道怎么做?感谢
答案 0 :(得分:2)
试试 demo
<form id="commentForm">
<div><input type="text" name="a" id="a" class='required'/></div>
<div><input type="text" name="b" id="b" class='required'/></div>
<div>
<input type="submit" name="g" value="Submit" id="everything" />
</div>
</form>
$(document).ready(function(){
$("#commentForm").validate({
submitHandler: function(form) {
var dataArray = $("#commentForm").serializeArray();
dataObj = {};
$(dataArray).each(function(i, field){
dataObj[field.name] = field.value;
});
alert(dataObj['a']);
}
});
});
您可以使用jquery .each函数迭代数组
<强> .each 强>
通用迭代器函数,可用于无缝迭代 对象和数组。