У меня есть несколько форм на моей странице (через петлю), каждая из которых имеет собственную кнопку отправки. Я хочу использовать AJAX для получения и отправки данных в .php. Мне нужно знать, какая форма была отправлена, поэтому я могу получить соответствующие значения.DOM-манипуляция - несколько форм
Это простая тележка. Эта форма позволяет пользователю изменять количество предметов в корзине перед оформлением заказа.
Вы видите, что есть две кнопки «Изменить количество» (кнопки sumbit), и эти два поля завертываются в тег формы.
Петля, покрывающей форму является:
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;
});
'$ ('input [type = submit]'). Click (function() {var allFormInputs = $ (this) .closest ('form'). Find (': input');})' или ' form.find (': input') ' – Terminus
@Terminus, который в основном такой же. Мне нужны конкретные теги ввода (первый и второй). В вашем коде будут перечислены все входы. Вот почему я включил eq(). – candh
Мне просто нравится этот селектор и думал, что это поможет. Если вам нужен определенный вход (-ы), почему бы не повторить их с классом или именем, которое вы можете выбрать, так что вам не придется беспокоиться, если вы измените порядок их в будущем? – Terminus