簡體   English   中英

通過AJAX從大格式發送數據

[英]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"/>&nbsp;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"/>&nbsp;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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM