0

我一直在努力思考这个问题,并弄清楚它是否可能。我正在使用 zen-cart 作为购物车软件,但我想做的是硬编码一个基本上是 7-9 个产品列表的页面,每个产品旁边是一个复选框,所以我想要找出一种方法,通过 html、javascript 或 jquery 将检查到的任何表单(产品)提交到购物车。一个产品的典型表单提交看起来像这样(有时可能有一个或两个额外的隐藏字段):

<form name="cart_quantity" action="index.php?action=add_product" method="post"      enctype="multipart/form-data">
    <input type="hidden" name="cart_quantity" value="1">
    <input type="hidden" name="products_id" value="7">
    <input type="hidden" name="id[6]" value="9" id="attrib-6-9"> 
    <input type="image" src="buy_button.png" alt="Add to Cart" title="Instructional Video Part 1: Add to Cart">
</form>

页面上会有 7-9 个,每个都有一个复选框,所以我假设一个脚本需要找出哪些被选中并通过表单操作提交它们?也许有一个更好的方法来解决这个问题,我没有想到,因为a)它在我的头上或b)只是还没有弄清楚。无论如何,这样的事情可能吗?

4

3 回答 3

0

为每个表单添加某种复选框,并带有一个类:

<form name="cart_quantity" action="index.php?action=add_product" method="post"      enctype="multipart/form-data">
    <input type="checkbox" class="IsCheck" />
    <input type="hidden" name="cart_quantity" value="1">
    <input type="hidden" name="products_id" value="7">
    <input type="hidden" name="id[6]" value="9" id="attrib-6-9"> 
    <input type="image" src="buy_button.png" alt="Add to Cart" title="Instructional Video Part 1: Add to Cart">
</form>

在所有表单下方添加一个按钮,根本不必在表单内:

<input type="button" value="Submit Selected" id="submit_btn" />

jQuery:

$('#submit_btn').on('click', function() {
    $('.IsCheck').is(':checked').each(function() { 
        $(this.form).submit(); 
    });
});
于 2012-04-13T12:53:33.170 回答
0

你可以这样做,因为这

$("#yourcommonbuton").click(function() {
    if($("#checkbox1").prop('checked') == true) $("#form1").submit();
    if($("#checkbox2").prop('checked') == true) $("#form2").submit();
    if($("#checkbox3").prop('checked') == true) $("#form3").submit();
    return false;
});
于 2012-04-12T23:33:54.937 回答
0

为什么不让它们都以相同的形式出现?是否有任何具体原因为每个人提供单独的表格?

将它们全部放在同一个表单中,并在提交页面(逻辑所在的位置)上为所有复选框运行一个循环,并且仅选中那些复选框,将它们添加到购物车中

复选框可以将值作为相应的产品 ID....

或类似 html 页面中的内容

Product1 <input typ='checkbox' name='checkbox[1]'>
Product2 <input typ='checkbox' name='checkbox[2]'>
Product3 <input typ='checkbox' name='checkbox[3]'>

在逻辑页面

foreach($_POST[checkbox] as $k=>$v){
    if($v=='checked')
         //add to cart  like $_POST[product[$k]]  $_POST[amount[$k]] if there are such elements on the html page
}
于 2012-04-12T23:05:12.517 回答