DOM操作-多种形式 - php

我的页面上有几种形式(通过循环),每种形式都有自己的提交按钮。
我想使用AJAX来获取数据并将其发布到.php。我需要知道提交的是哪个表格,这样我才能获得相应的值。

这是一个简单的购物车应用程序。此表单允许用户在结帐前更改购物车中物品的数量。
DOM操作-多种形式 - php

您会看到有两个“更改数量”按钮(求和按钮),并且这两个字段都包装在一个表单标签中。

包含表单的循环为:

while ($row = $query->fetch_assoc()) {
  $item_code = $row['product_id'];
  $item_name = $row['name'];
  $item_price = $row['price'];
  $item_qty = $row['qty'];
  print"<tr>
  <td>
    <img src='http://localhost/store/images/products/$item_code.jpg'>
  </td>
  <td>$item_code</td>1
  <td>$item_name</td>
  <td>$$item_price</td>
  <td>
    <form method='post' action='/store/processing/view_cart.php' class='cart_view_ajax' id='form_id_$item_code'>
      <input type='text' maxlength='2' value='$item_qty' id='qty'>
      <input type='hidden' value = '$item_code' name='product_id' id='product_id'>
      <div><input type='submit' id='submit' value='Change Quantity'></div>
    </form>
  </td>
  <td>x</td>
  </tr>";
}

问题:
我如何通过jQuery知道提交了哪种表单?帮帮我...

根据给出的答案,我已经设法通过jQuery来获得提交表单的数量。这是代码:

    $('form.cart_view_ajax').on('submit', function(e) {
    e.preventDefault();
    // start working
    var form = $(this);
    var form_id = form.attr('id');
    console.log($('#'+form_id).children().eq(0).val());

    return false;
});

参考方案

您可以只使用“ product_id”,因为它对于每个商品都应该是唯一的

<input type='hidden' value = '$item_code' name='product_id' id='product_id'>

或者,您可以向表单标签添加唯一的ID属性

<form method='post' action='/store/processing/view_cart.php' class='cart_view_ajax' id='item_$item_code'>
$('form#item_3')

您可以在行中添加唯一的ID,以便以后可以对其进行操作,并在以后访问该表单。

<tr id="row_$item_code">
$('tr#row_3 form')

您可以在表格中添加“数据”属性

<form method='post' action='/store/processing/view_cart.php' class='cart_view_ajax' id='item_$item_code' data-form_id="$item_code">
var form_id = $('form#item_3').data('form_id');

我们可以看到您当前正在使用的jQuery代码吗?

PHP PDO组按列名称查询结果 - php

以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…

PHP:对数组排序 - php

请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…

在单击时显示特定行的SQL数据 - php

我目前有2张桌子,顶部和底部。最上面的是我从SQL数据库调出的数据行。至于底部,数据来自与顶部表相同的数据库,但显示不同的字段。这些字段都在我的SQL数据库的同一行中。基本上,单击顶部表中的任何行,底部表将显示更多信息,这些信息也在SQL数据库的同一行内。我不确定如何显示特定行的数据,现在,当我单击顶部表中的任何行时,它将显示SQL中的所有行。表格代码:&l…

在Javascript或PHP中查找并替换<a>标签 - php

我正在尝试获取执行JavaScript而不是href属性的链接。我已经在网上搜寻,可以使用几种不同的方法来接近,但没有雪茄。转换示例如下所示:<a href="http://example.com">Link 1</a> <a href="http://www.yahoo.com" tar…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…