我的表格看起来像这样:
<tr>
<td><input type="text" name="name[1]"></td>
<td><input type="text" name="gender[1]"></td>
</tr>
<tr>
<td><input type="text" name="name[2]"></td>
<td><input type="text" name="gender[2]"></td>
</tr>
<tr>
<td><input type="text" name="name[3]"></td>
<td><input type="text" name="gender[3]"></td>
</tr>
我只是想用ajax发布它的值来在php中得到这样的东西:
var_dump($name)
:
array (size=3)
1 => string 'Brunhilde' (length=9)
2 => string 'Kevin' (length=5)
3 => string 'Han Solo' (length=8)
var_dump($gender)
:
array (size=3)
1 => string 'female' (length=6)
2 => string 'male' (length=4)
3 => string 'male' (length=4)
serialize()
和serializeArray()
不是我想要的。例如serializeArray()
:
array (size=6)
0 => array (size=2)
'name' => string 'name[1]' (length=7)
'value' => string 'Brunhilde' (length=9)
1 => array (size=2)
'name' => string 'gender[1]' (length=9)
'value' => string 'female' (length=6)
...
我曾经使用xajax,其中单个函数xajax.getFormValues()
完美地解决了这个问题。
我如何用ajax实现这个目标?
更新:代码:
$.ajax({
dataType: "text",
url: myUrl,
type: "POST",
data: {
myVar1: $("#myVar1").val(),
myVar2: $("#myVar2").val(),
myForm: $("#myForm").serializeArray()
},
success: function(data) {
alert(data);
}
});
答案 0 :(得分:1)
为所有常见类型数据添加一个类/数据标识符。示例我已将名称 - 文本类添加到所有输入以捕获名称
<tr>
<td><input type="text" class="name-text" name="name[1]"></td>
<td><input type="text" class="gender-text" name="gender[1]"></td>
</tr>
<tr>
<td><input type="text" class="name-text" name="name[2]"></td>
<td><input type="text" class="gender-text" name="gender[2]"></td>
</tr>
<tr>
<td><input type="text" class="name-text" name="name[3]"></td>
<td><input type="text" class="gender-text" name="gender[3]"></td>
</tr>
var nameValues = Array();
$('.name-text').each(function(){
nameValues.push(this.val());
});
var genderValues = Array();
$('.gender-text').each(function(){
genderValues.push(this.val());
});
$.post(url,{'name':nameValues,'gender':genderValues},function(){
});
这会将单个变量'name'下的所有名称发送到php