2011-09-30 73 views
0

提交後,我有關於使用colorbox關閉表單的問題。我發現這question所以我現在知道如何提交後關閉表單。問題是,另一個JavaScript驗證我的表單的輸入字段,並會有一個錯誤消息(一個簡單的警報()),當一些字段沒有填寫...我wanne關閉clorbox iframe onsubmit只有當驗證返回沒有錯誤..其他用戶會得到提示,他錯過了一些輸入字段,但形式將關閉......所以我怎麼能檢查這與jQuery ..有可能檢查如果「alert()」是在屏幕上顯示...然後可以說,當alertpopup顯示不關閉colorbox窗口,否則關閉它,因爲沒有錯誤......有人明白我的意思嗎?再說一遍:我無法更改驗證腳本!然後,我可以簡單地在這個腳本中添加.colorbox.close(); ...jquery:Colorbox關閉iFrame onsubmit

驗證是一個簡單的函數,它是執行onsubmit ...有一個變量「味精」,其中包含該函數內的錯誤信息..必須有一個當函數執行時獲取這個「msg」變量的方法,並檢查它是否爲空....?

誰能幫我這... it'sa有點難爲我解釋..

回答

0

你也許可以參照這種方式獲得來自iFrame內容的「味精」元素的內容:

parent.msg場名

我在類似情況下所做的是這樣的:

  • 讓用戶取消iFrame表單。此退出路徑在提交時使用ColorBox的「內置」關閉方法
  • ,進行錯誤驗證測試。如果通過,則使用允許內置關閉方法成功,否則不要離開表單。

你可以找出究竟是如何做到形成plugin author's website:從收盤

防止彩盒/改變$ .colorbox.close()

close方法($行爲。 colorbox.close())可以緩存並重新定義,以提供對ColorBox關閉時發生的情況的一些控制。這會影響綁定到它的控件(如escKey,overlayClose和close按鈕)並直接調用close方法。

例如,假設我們打開ColorBox以顯示包含表單的html代碼段,並且我們想要警告訪問者,如果他們在提交數據之前嘗試關閉ColorBox,他們會放棄其表單。

var originalClose = $.colorbox.close; 
$.colorbox.close = function(){ 
    var response; 
    if($('#cboxLoadedContent').find('form').length > 0){ 
     response = confirm('Do you want to close this window?'); 
     if(!response){ 
      return; // Do nothing. 
     } 
    } 
    originalClose(); 
}; 
$('a#example').colorbox();