我有一个类似于:
的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>
在提交表单时,我想在fancybox弹出窗口中显示隐藏的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窗口而不查看特别优惠。
如何阻止这种情况发生?
提前致谢。
答案 0 :(得分:0)
尝试这样的事情
$('#cart-form').submit(function (e)
{
$.fancybox.open([
{
href : '#cart-special-offers'
}
]);
return !!e.submit;
});
$('.fancybox-close-link').click(function(){
$.fancybox.close();
$('#cart-form').submit({
submit: true
});
});
答案 1 :(得分:0)
这实际上是一种荒谬的事情。
我想要的是发布并转到某个页面,但我有两个提交按钮。
我没有意识到我可以隐藏其中一个提交按钮(显示:无),将锚点放在触发灯箱的位置,然后点击灯箱上的关闭时触发点击隐藏输入