我有一个类似于以下内容的 HTML 表单:
<form id="cart-form">
<input type="text" name="quantity" />
<input type="hidden" name="sku" value="SKU123" />
<input type="submit" name="submit" value="Submit" />
</form>
我也有一个隐藏的 div,如下所示:
<div id="cart-special-offers" style="display:none;"><p>Would you like to take a look at our <a href="/catalogue/category/543" class="ignore-form">current promotions</a>?</p>
<p><a href="/catalogue/category/543" class="ignore-form">Yes please</a></p>
<p><a href="#" class="fancybox-close-link">No thanks</a></p>
</div>
在提交表单时,我想在一个花哨的弹出窗口中显示隐藏的 div(停止表单提交)。
如果用户选择查看特价商品,表单提交应该完全取消,用户应该被重定向。
如果用户选择关闭fancybox 弹出窗口(以任何方式),现在应该提交用户的表单。
我目前拥有的JS是:
$('#cart-form').submit(function(){
$.fancybox.open([
{
href : '#cart-special-offers'
}
]);
return false;
});
$('.fancybox-close-link').click(function(){
$.fancybox.close();
$('#cart-form').submit();
});
这显然会导致一个循环,每次我尝试关闭它而不查看特别优惠时都会显示fancybox窗口。
我该如何阻止这种情况发生?
提前致谢。