0

我正在自学 php 和 mysql。我正在创建一个小型商务网站来测试我的技能。我在这样的页面上有多个表单

<div class="formInfo"><form name="CartForm" method="post" action="./ajax/addCart.php" class="fixed">
<input name="prodId" type="hidden" value="10" />
  <label for="qty">Quantity:</label>

  <input name="qty" type="text" id="qty" size="4" maxlength="6" class="qtyBox">
  <br>
  <input type="submit" name="addtoCart" id="addtoCart" value="Add to Cart" class="btnAdd">
</form>



<div class="formInfo"><form name="CartForm" method="post" action="./ajax/addCart.php" class="fixed">
<input name="prodId" type="hidden" value="7" />
  <label for="qty">Quantity:</label>

  <input name="qty" type="text" id="qty" size="4" maxlength="6" class="qtyBox">
  <br>
  <input type="submit" name="addtoCart" id="addtoCart" value="Add to Cart" class="btnAdd">
</form>


<div class="formInfo"><form name="CartForm" method="post" action="./ajax/addCart.php" class="fixed">
<input name="prodId" type="hidden" value="9" />
  <label for="qty">Quantity:</label>

  <input name="qty" type="text" id="qty" size="4" maxlength="6" class="qtyBox">
  <br>
  <input type="submit" name="addtoCart" id="addtoCart" value="Add to Cart" class="btnAdd">
</form>

现在,当我单击 sumbit 按钮时,我想显示隐藏字段 id 和可见字段 qta (当前单击的表单)的值,到目前为止我的代码是

<script type="text/javascript">
$(document).ready(function(e) {
    $('.formInfo').submit(function() {
        alert($(this).val())
    });
});
</script>

我想不通。如何告诉 jquery 我想要“this”引用的“id”和“qty”值而不是引用本身的值

4

2 回答 2

1

首先,在同一个 HTML 文档中不能有多个具有相同id. 您必须将它们更改为类似qty1and qty2。您将事件绑定到<div>,而不是表单。您还需要选择输入元素。试试这个:

$(document).ready(function(e) {
    $('.formInfo form').submit(function() {
        $("input[type=hidden],input[name=qty]",this).each(function(){
            alert($(this).val());
        });
    });
});
于 2012-07-11T20:04:18.093 回答
0

如前面的答案所述,ids 应该是唯一的,您需要将提交绑定到表单而不是 div,您可以通过表单元素的名称访问表单成员

$(document).ready(function(e) {
    $('.formInfo form').submit(function() {
        alert(this.prodId.value);
        alert(this.qty.value);
    });
});

小提琴

于 2012-07-11T20:10:06.747 回答