通过ajax将数组提交到php

时间:2016-02-07 19:01:03

标签: javascript php jquery ajax forms

我在解决如何通过具有相同名称的项目的ajax提交表单时遇到问题(此表单是动态创建的,并且必须对某些字段使用相同的名称)。

这是我的JS代码

4

我希望它提交到submit.php并隐藏打开的div(table1)。 我可以把它转到submit.php,但我不确定数据是否实际上是在那里发送的,或者它是否只是空白。它告诉我submit.php中的foreach循环有一个无效的参数。

这是submit.php

<script>
  var toggle123 = function() {
      var chair = document.getElementsByName('chair[]');
    var item1 = document.getElementsByName('item[]');
    var price = document.getElementsByName('price[]');
    var table  = document.getElementById('table');

    // Returns successful data submission message when the entered information is stored in database.
        var dataString = 'table='+table+'';

    for(i=0;i<item1.length;i++)
{
      dataString += + '& item1[]' + '=' + item1[i];

}
for(i=0;i<chair.length;i++)
{
      dataString += + '& chair[]' + '=' + chair[i];

}
for(i=0;i<price.length;i++)
{
      dataString += + '& price[]' + '=' + price[i];

}

        if (chair == '' || item1 == '') {
        } 
        else {
                    // AJAX code to submit form.
                    $.ajax({
                    type: "POST",
                    url: "submit.php",
                    data: dataString,
                    cache: false,
                    success: function(html) {
                    alert(html);
                    }
                    });
                }
        return false;

  var mydiv = document.getElementById('table1');
  if (mydiv.style.display === 'block' || mydiv.style.display === '')
    mydiv.style.display = 'none';
  else
    mydiv.style.display = 'block'
  }
  </script>

这是动态表单的javascript ....每次单击一个按钮时,都会添加到表单中:

<?php
include('dbconfig.php');
// Fetching Values From the post method
$table = $_POST['table_id'];
foreach($_POST["item1"] AS $key => $val) {
$chair = $val;
$price = $_POST['price'][$key];
$chair = $_POST['chair'][$key];

$query = mysqli_query($dbconfig,"insert into orders(table_id, price, item, chair) values ('$table', '$price', '$item', '$chair')"); //Insert Query
echo "Form Submitted succesfully";
}
?>

我认为我的主要问题可能是形成传递给submit.php的数据字符串。如果有人能帮我解决这个问题,那就太好了!

(P.S.toggle123通过点击按钮激活(工作正常)

0 个答案:

没有答案