繁体   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