Ajax获取输入文本框数组并将结果显示为div

时间:2015-07-16 21:32:46

标签: javascript php jquery html ajax

这是我的展示形式

<form name='foodlist' action='checkout' method='POST'>
  <table>
    <tr>
      <td>Product Name</td>
      <td>Price</td>
      <td>Quantity</td>
      <td>Amount</td>
    </tr>
    <tr>
      <td><input type='text' name='foodname[]' size='10' class='foodname' /></td>
      <td><input type='text' name='price[]' size='2' class='price'/></td>
      <td><input type='text' name='qty[]' size='2' class='qty'/></td>
      <td><input type='text' name='amt[]'  size='2' class='amt'/></td>
    </tr>
    <tr>
      <td><input type='text' name='foodname[]' size='10' class='foodname' /></td>
      <td><input type='text' name='price[]' size='2' class='price'/></td>
      <td><input type='text' name='qty[]' size='2' class='qty'/></td>
      <td><input type='text' name='amt[]'  size='2' class='amt'/></td>
    </tr>
  </table>
</form>

我有AJAX jQuery来获取输入值。

$.ajax({
  type : "POST",
  url : "ajaxfood.php",
  data: $('[name="qty[]"]').serialize(),
  success : function(html) {
    alert (html);
  }
});

这是我的php:

<?php
  $qtys = $_POST['qty'];
  echo json_encode($qtys);
?>

上面的代码完美地工作并替换了qty数组。 但我的问题是我想在我的PHP中获取所有文本框。我试图发送while表单,但它没有工作

data: $('form').serialize(),
  1. 发送整个表单数据的方式是什么。
  2. 以及如何获得它。
  3. 以及如何将结果放入div。
  4. 我的第一个问题对我来说非常重要。 请帮忙

1 个答案:

答案 0 :(得分:1)

尝试在JS中使用$('form').serializeArray()作为AJAX数据。 如果您使用的是新版本的Chrome,则可以使用开发工具(F12)中的控制台查看表格中的输出:

var formArray = $('form').serializeArray(); 
console.table(formArray);

如果您看到其中的所有信息,则应该在您的PHP $_POST变量中提供服务器端代码。在服务器上使用相同的var_dump()调用以确保它在那里。 - http://jsfiddle.net/rsrj07fn/

这将获取服务器的信息,并将其打印在服务器上以确保它在那里。 var_dump()不适用于您的成品,仅用于调试目的,以直观地查看分配给服务器端变量的内容(如$_POST)。如果您只想使用进入服务器的数据的字符串值,您应该可以使用,例如:

echo $_POST['foodname'][0];
echo $_POST['foodname'][1];

echo $_POST['price'][0];
echo $_POST['price'][1];

将它们全部放在一个DIV中:

echo "<div>";
   echo $_POST['foodname'][0]."<br>";
   echo $_POST['foodname'][1]."<br>";
   echo $_POST['price'][0]."<br>";
   echo $_POST['price'][1]."<br>";
   echo $_POST['qty'][0]."<br>";
   echo $_POST['qty'][1]."<br>";
   echo $_POST['amt'][0]."<br>";
   echo $_POST['amt'][1]."<br>";
echo "</div>";