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

时间:2011-06-21 15:42:22

标签: php javascript ajax

伙计我正在寻找一种方法将我的html表单数组发送到php脚本执行为数组。我尝试了几种方法,但没有任何方法可以帮助我。请给我一个方法来做。我的php数组运行良好正常提交,但有ajax,它说

  

警告:提供的参数无效   foreach()in   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发送params-

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;
        }    

谢谢。

2 个答案:

答案 0 :(得分:2)

修改

我是个傻瓜 - 你没有使用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

这对你来说应该是对的。

答案 1 :(得分:1)

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