使用AJAX将表单数组作为POST数组发送到PHP

Send a form array to PHP using AJAX as a POST array

本文关键字:数组 PHP POST AJAX 表单 使用      更新时间:2023-09-26

伙计们,我正在寻找一种方法,将我的html表单数组发送到php脚本,作为数组执行。我尝试了几种方法,但都不起作用。请给我推荐一种方法。我的php数组在正常提交时运行良好,但在ajax中显示

警告:为提供的参数无效中的foreach()C: ''wamp''www''submit_order.php在线42

我的HTML表单代码-

 <input disabled="disabled" class="input_text" onkeyup="JAVASCRIPT:check_row();" name="qty[]" type="text" id="qty_field1" size="6">

我当前的ajax发送参数-

var params="qty="+document.table_form.elements["qty[]"]";   

我的PHP数组获取-

  foreach($_POST['qty'] as $value){
        if($index<=$rows){
        $clean_value=mysql_real_escape_string($value);
        $clean_value=stripcslashes($clean_value);
        $product_data[$index][3]=$clean_value;
        $index=$index+1;
        }    

谢谢。

编辑

我是个笨蛋——你没有用jQuery。这里有一些coee,它以一种形式迭代输入,寻找名为qty[]的元素http://jsfiddle.net/JAAulde/WQjQM/6/

结束编辑

下面的原始(jQuery)答案

如果我有3个名为qty[]的输入,其值为abc

两者:

var params = $.param( $( '[name="qty'[']"]' ) );

(演示:http://jsfiddle.net/JAAulde/WQjQM/1/)

和:

var params = $( '[name="qty'[']"]' ).serialize();

(演示:http://jsfiddle.net/JAAulde/WQjQM/)

给我:

qty%5B%5D=a&qty%5B%5D=b&qty%5B%5D=c

这对你来说应该是正确的。

您可能需要查看http://api.jquery.com/serialize/作为如何发送表单值的解决方案。它应该适用于数组(我认为)