我有一個非常簡單的形式與一些複選框,單選按鈕和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