我有一个非常简单的形式与一些复选框,单选按钮和selectboxes。我想使用jQuery的$ .ajax发布所有选定的表单数据。但由于某种原因,表单并未被序列化。我不确定是什么原因造成的...(旁注:$('#FormID').submit(..)
不适用于我)。所以,我创建了一个按钮,用下面的代码:jQuery的.serialize()不会做任何事情
$(document).ready(function() {
$('#DoSearchRequest').click(function(event) {
//event.preventDefault(); // read about this somewhere, doesn't help
$('#res').html($('#FormSearch').serialize()); // just some <p> to output the result to
$.ajax({
url: 'http://www.domain.nl/ajax/GetResultsBySearchRequest.php',
data: $('#FormSearch').serialize(),
type: 'POST',
success: function(result) {
console.log(result);
},
error: function(a, b, c) { console.log(a); }
});
return false;
});
});
我的按钮的形式之外(如果它在形式,也没关系)。
我的形式:
<form name="FormSearch" id="FormSearch" method="post">
... form elements
</form>
我使用jQuery 1.7.1和jQueryUI的1.8.18
你是说Ajax的请求,但在服务器端没有收到任何数据?你的表单元素是否有'name'属性?如果你至少显示了一些元素的html,这将有所帮助。 – nnnnnn
是的,成功的功能已经达成。但PHP脚本中的$ _POST是空的。表单元素具有名称属性(全部)。我认为问题不在那里,因为'$('#res')。html()'也是空的。 – Ben
你没有任何其他形式(或其他元素)具有相同的ID“”FormSearch“”你呢? (如果你这样做可能是第一个序列化的)。你确实有“成功”的表单域,即启用的域,检查过的复选框等。 – nnnnnn