2013-01-21 112 views
-1

我有類似於HTML表單:在提交打開燈箱。如果lightbox關閉,請提交表單。如果鏈接點擊,不要提交

<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

這個,一個-1有點苛刻?我問了一個答案的意圖,但經過一個小時的思考,才意識到這是一個愚蠢的想法...... – PaulSkinner

回答

0

這是事實的處理事情荒謬的方式。

我想要的是張貼並轉到一個頁面,但我有兩個提交按鈕。

我沒有意識到的是我可以隱藏其中一個提交按鈕(display:none),在其觸發燈箱的位置放置一個錨點,然後點擊燈箱上的關閉點擊時觸發點擊隱藏輸入。

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 
    }); 
}); 
+0

這確實會阻止它循環,但不幸的是,在單擊.fancybox-關閉按鈕(它確實關閉了fancybox) – PaulSkinner

+0

這應該提交表單...關閉buttonis點擊 – bipen

+0

我很抱歉浪費你的時間。我意識到自己正在以完全錯誤的方式去做我正在做的事情,而我正在嘗試做的事情(這裏很難解釋)實際上是不可能的。 – PaulSkinner