我有一個jQuery AJAX post
和PHP的問題。我在jquery ajax post和php中遇到了一些麻煩
我嘗試使用.serialize()
發送數據並添加一些附加數據。
但在PHP中,我收到.serialize()
數據但沒有附加數據。
在我的代碼jQuery的阿賈克斯,
function load() {
var form_data = $('#frm2').serialize();
form_data.push({name:'year',value:'2016'});
alert(form_data);
$.ajax({
type : "POST",
url : "insert.php",
cache : false,
async : false,
data : form_data,
success : function(html) {
alert(form_data);
}
});
}
和FRM2(形式的ID)是:
<form name='frm2' action="./BOMinsert.php" id = 'frm2' method='post'>
<table width="30%" id="keytable" style="border: 1px gray solid; table-layout: fixed">
<thead style="background: #EAEAEA">
<th>year</th>
<th>brand</th>
<th>season</th>
<th>Styleno</th>
</thead>
<tbody style="text-align: center">
<?php
for($i =1;$i<5;$i++)
echo "<td>".$_POST['name'.$i]."</td>";
?>
</tbody>
</table>
<BR>
<BR>
<table id="bomtable" style="width: 100%;table-layout: fixed">
<thead style="background: #EAEAEA">
<th>item1</th>
<th>item2</th>
<th>item3</th>
<th>item4</th>
<th>item5</th>
<th>item6</th>
<th>item7</th>
<th>item8</th>
<th>item9</th>
<th>item10</th>
<th>item11</th>
<th>item12</th>
</thead>
<tbody style="text-align: center">
<?php echo "<td>".$_POST['name5']."</td>" ?>
<?php echo "<td>".$_POST['name6']."</td>"?>
<?php echo "<td>".$_POST['name7']."</td>"?>
<td><input type="text" class="ui-widget ui-corner-all" name='item' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='description' size="8" maxlength="30"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='supplycompany' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='colorway' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='unit' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='size' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='consume' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='unit' size="5" maxlength="10"/></td>
<td><input type="text" class="ui-widget ui-corner-all" name='etc'/></td>
</tbody>
<input type='submit' value='save' class="ui-button ui-widget ui-corner-all" style="background: #3498DB; color: white;float: right" onclick="load();">
</form>
,最後我的PHP代碼:
if(isset($_POST['year'])){
echo $_POST['year'];
}else{
var_dump($_POST);
}
PHP結果:
array(8) { ["item"]=> string(0) "" ["description"]=> string(0) "" ["supplycompany"]=> string(0) "" ["colorway"]=> string(0) "" ["unit"]=> string(0) "" ["size"]=> string(0) "" ["consume"]=> string(0) "" ["etc"]=> string(0) "" }
Notice: Undefined index: year in C:\Apache24\htdocs\ptest\BOMinsert.php on line 19
p.s.我也試過.serializeArray()
,.push()
,.serialize()+"&year=2016"
。
以上測試代碼但不起作用。
這可能與最後一張桌子未關閉有關嗎? – adeneo
此外,提交似乎提交表格,沒有什麼阻止它 – adeneo