我知道如何通过jquery post方法发送 $ .post(“test.php”,{name:“John”,time:“2pm”});
但是如果我的表单字段名是数组
<input type=text name="n1[]" id="n1[]" value='12345">
<input type=text name="n1[]" id="n1[]" value="14454">
如何通过jquery post方法将这两个字段值发送到url?
答案 0 :(得分:5)
您可以将数组作为值传入对象:
{name: 'John', 'nl[]': ['12345', '14454']}
然而,如果你可以使用表单的serialize方法来创建数据字符串,那么你可以让jQuery担心它是正确的。 jQuery(和HTML一般)不关心字段控件名称末尾是否有方括号。这只是用来告诉PHP它应该期望多个值的黑客。
注意nl[]
是无效的ID。除了验证/兼容性问题之外,它还会使您难以编写选择器,因为$('#nl[]')
中的方括号表示其他内容。在这种情况下你可以使用反斜杠转义它们,尽管有些地方jQuery的正则表达式选择器解析会破坏这样的东西。
另外,页面上不能有两个具有相同id
的元素。 id
的作用是识别页面上的单个元素,并使用简单的字母数字*名称来编写脚本和样式表;它不是表单字段的name
属性的替代或替代,表单字段是要发送到服务器的控件名称。
(*:加.-_:
虽然您通常不想使用:
,.
也会让编写选择器变得烦人。)
[最后一个简单的拼写错误:你的第一个value
也被错误引用。]
答案 1 :(得分:0)
var fields = $(":input").serializeArray();
$.post("test.php",fields);
请参阅serializeArray( )和input选择器上的文档。