[英]Send data from large form by AJAX
我有一個包含30個字段的表單:3個字段,重復了10次。 這是我的代碼:
<form id="artikelform" method="POST" name="controleartikelen" action="">
<table id="controle">
<tr><th>Maakartikel</th><th>Aantal</th><th>Leverdatum</th></tr>
{for $i=1 to 10}
<tr>
<td><input type="text" name="artikel" class="artinput"/></td>
<td><input type="text" name="aantal" class="aantalinput"/> x</td>
<td><input type="text" name="datum" class="dateinput"/></td>
</tr>
{/for}
</table>
<input type="button" onclick="javascript:startControle();" value="Controleer"/>
</form>
我想通過AJAX(POST方法)將表單值發送到PHP腳本。 我試圖發送$.param($("#artikelform").serializeArray());
使用我的ajax作為POST數據,但是該函數的結果不可用(只是很多以GET格式存在的變量)。 與AJAX結合使用此表格的最佳方法是什么? 也許是使用serializeArray()
另一種方式?
編輯:
這是我的AJAX請求代碼:
$.ajax({
url: 'myscript.php',
cache: false,
data: formdata,
type: "POST"
}).done(function(data){
$("#resultwrapper").html(data);
})
或者:
1)使用PHP函數json_decode()將JSON編碼的數據結構映射到PHP數組,或者
2)不要序列化有效負載,而是將變量命名為php數組,從而:
<tr>
<td><input type="text" name="artikel[]" class="artinput"/></td>
<td><input type="text" name="aantal[]" class="aantalinput"/> x</td>
<td><input type="text" name="datum[]" class="dateinput"/></td>
</tr>
我認為您應該嘗試$('#artikelform').serialize()
而不是$.param($("#artikelform").serializeArray());
然后,您應該可以使用$_POST['fieldname']
毫無問題地訪問php腳本中$_POST['fieldname']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.