我一直在努力思考这一点,并弄清楚这是否可能。我使用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)只是还没有弄清楚。不管怎样,这样的事情是可能的吗?
发布于 2012-04-13 07:33:55
你可以做到的,如下所示
$("#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-13 07:05:13
为什么不让它们都以相同的形式出现呢?有没有什么特别的原因让你为他们每个人都有不同的表单?
将它们都放在同一个表单中,并在submit页面(逻辑是)上为所有复选框运行循环,并且只对选中的复选框,将它们添加到购物车中
复选框可以将值作为相应的产品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-13 20:53:33
向每个表单添加某种类型的复选框,并带有一个类:
<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();
});
});https://stackoverflow.com/questions/10133022
复制相似问题