我在Wordpress网站上使用Woocommerce插件。当您单击某个产品时,它会加载一个Thickbox iframe窗口,您可以在其中输入数量并将其添加到购物车。您可以在此处查看测试网站:http://75.103.92.37/rent-storage/
我想让表单将数据提交到购物车,然后关闭窗口。 This link是我找到的最接近的解决方案,但是使用了#34;感谢你"我没有的页面,如果可能的话,我希望避免使用。
这是我的表单代码。我放置了一个OnSubmit函数来关闭Thickbox窗口。它有效,但表单不提交。
<form class="cart" method="post" enctype='multipart/form-data' onsubmit="javascript:parent.eval('tb_remove()')">
<?php do_action( 'woocommerce_before_add_to_cart_button' ); ?>
<input type="hidden" name="add-to-cart" value="<?php echo esc_attr( $product->id ); ?>" />
<?php
if ( ! $product->is_sold_individually() )
woocommerce_quantity_input( array(
'min_value' => apply_filters( 'woocommerce_quantity_input_min', 1, $product ),
'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->backorders_allowed() ? '' : $product->get_stock_quantity(), $product )
) );
?>
<button type="submit" class="button alt"><?php echo $product->single_add_to_cart_text(); ?></button>
<?php do_action( 'woocommerce_after_add_to_cart_button' ); ?>
</form>
感谢您的帮助!
答案 0 :(得分:1)
tb_remove()
会返回false
,因此表单不会提交。
您需要添加一个点击处理程序到&#34;添加到购物车&#34;运行tb_remove()
并返回true。
由于您要在iframe中提交表单,因此您需要确保&#34;发布&#34;在从文档中删除iframe之前触发。
为了便于使用,最好还有一条消息,说明当厚箱关闭时,您的产品已添加到购物车中。