我正在尝试使用jQuery序列化我的表单提交。我想获得一个类似的JSON 字符串或对象。此外,如果有人可以让我知道如何只挑选那些有价值但不是空的小工具,那将是完美的。
我很着急,因此没有检查语法,我为此道歉。
<html>
<head>
<script type="text/javascript">
$(document.ready(function(){
$("#myform").submit(function(){
var mySerialObj = $("#myform").serializeArray();
$.each(mySerialObj,function(indx,idxVal){
//here indx is numeric and idxVal is a String like
// [{{"name","name"},{"value","RED"}}]
$.each(JSON.parse(idxVal),function(i,v){
//here I am not able to get the thinggy into a
// JSON format something like ['name','RED']
});
});
});
});
</script>
</head>
<body>
<form id="myform">
<div>
<span>What color do you prefer?</span><br />
<input type="radio" name="colors" id="red" />Red<br />
<input type="radio" name="colors" id="blue" />Blue<br />
<input type="radio" name="colors" id="green" />Green
</div>
<div>
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</div>
</form>
<button type="submit" value="submit" id="sbmt"">submit</button>
</body>
</html>
答案 0 :(得分:2)
答案 1 :(得分:1)
如果您不关心具有相同名称的重复表单元素,则可以执行以下操作:
var data = $("#myform").serializeArray();
var formData = _.object(_.pluck(data, 'name'), _.pluck(data, 'value'));
在这里使用underscore。