我有以下HTML表单:
<form id="some_id">
<select id="select1">...</select> // this turns in a Select2 component
<select id="select2">...</select> // this turns in a Select2 component
<select id="select3">...</select>
<input type="text" name="inp1" id="inp1" />
</form>
我试图通过AJAX发送它,如下所示:
$.ajax({
type: 'post',
url: '/save',
data: $('#new_component_restriction').serialize(),
success: function () {
alert('form was submitted');
}
});
但是只有输入是在POST请求上发送的,为什么?我在这里遗失了什么?我是否需要获取SELECT的值并发送?
答案 0 :(得分:5)
根据jQuery serialize()
documentation:
要使表单元素的值包含在序列化字符串中,该元素必须具有name属性。
因此,您应该为所有name="something"
元素添加select
。它发送&#39;输入&#39;有点奇怪。虽然元素。