我的页面上有几种形式(通过循环),每种形式都有自己的提交按钮。
我想使用AJAX来获取数据并将其发布到.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']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…