【发布时间】:2012-07-16 14:08:28
【问题描述】:
我在 PHP 循环中填充多个表单,并使用 <form id='X'> 区分它们
它们在 HTML 中看起来像这样:
<form id='34' class='customer_contact' name='customercontact' method='post' action='customerUpdate.php'>
Förnamn: <br /><input type='text' name='contact_firstname' class='textbox' value='text....'>
Efternamn: <br /><input type='text' name='contact_lastname' class='textbox' value='text....'>
Telefonnummer: <br /><input type='text' name='contact_phone' class='textbox' value='text....'>
Mobiltelefon: <br /><input type='text' name='contact_cellphone' class='textbox' value='text....'>
E-mail: <br /><input type='text' name='contact_email' class='textbox' value='text....'>
<select name='isActive'>
<option value="0" selected>Inaktiv</option>
<option value="1">Aktiv</option>
</select>
</form>
我尝试使用以下代码对它们进行序列化:
<script type="text/javascript">
$(document).ready(function() {
$('#customer_contact_save').live('click', function(e){
e.preventDefault();
$.each($('form.customer_contact'), function(index) {
var sData = $(this).serialize();
$.ajax({
type: "POST",
url: "updateCustomer.php",
data: sData,
success: function(someMessageFromPhp) {
alert(someMessageFromPhp);
}
});
});
});
});
(感谢 Zagor23 在 SO 上的代码)
但是我的POST 数据是空的(我正在使用 FireBug 查看正在发送的内容)。
我尝试在脚本中添加 console.log(sData); 但 FireBug 返回:(an empty string) 和 php var_dump($_POST); 也是空的..
有人知道出了什么问题吗?
【问题讨论】:
-
只有一个空的ajax调用还是调用的数量等于表单的数量?
-
@shershen 调用次数等于表单数
标签: jquery serialization post