2011-06-20 73 views
7

有誰知道如何通過一個命令刪除ValidationEngine創建的所有錯誤?我添加了插件似乎用於創建彈出窗口的代碼片段。如果您需要更多信息,請告訴我。jquery.ValidationEngine - 刪除錯誤彈出窗口

下面的代碼創建的錯誤:

buildPrompt : function(caller,promptText,type,ajaxed) {   // ERROR PROMPT CREATION AND DISPLAY WHEN AN ERROR OCCUR 

     if(!$.validationEngine.settings){ 

      $.validationEngine.defaultSetting() 

     } 

     deleteItself = "." + $(caller).attr("id") + "formError" 



     if($(deleteItself)[0]){ 

      $(deleteItself).stop(); 

      $(deleteItself).remove(); 

     } 

     var divFormError = document.createElement('div'); 

     var formErrorContent = document.createElement('div'); 

     linkTofield = $.validationEngine.linkTofield(caller) 

     $(divFormError).addClass("formError") 



     if(type == "pass") $(divFormError).addClass("greenPopup") 

     if(type == "load") $(divFormError).addClass("blackPopup") 

     if(ajaxed) $(divFormError).addClass("ajaxed") 



     $(divFormError).addClass(linkTofield); 

     $(formErrorContent).addClass("formErrorContent"); 

的源代碼:http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

問題:當用戶有他的屏幕上的錯誤,並點擊一個鏈接,滾動到頁面的另一部分中,錯誤仍然處於絕對位置。

我在找什麼:一個刪除所有錯誤消息的函數,可能有多個。

回答

4
function removeError(){$(".formError").remove()}; 

這很簡單......爲什麼它讓我永遠無法得到它是超越了我。使用.formError類刪除eerything會殺死所有彈出窗口。

+1

標準的解決方案。validationEngine ('hideAll');)是更優選的。 – aholub7x

+0

預期的方法在Ryu的答案中給出。 –

10

它在驗證引擎中也有一個預定義的函數。

$('#formID1').validationEngine('hideAll'); 
0

我使用這樣的事情 CSS

.formError{ 
-moz-animation: cssAnimation 0s ease-in 3s forwards; 
/* Firefox */ 
-webkit-animation: cssAnimation 0s ease-in 3s forwards; 
/* Safari and Chrome */ 
-o-animation: cssAnimation 0s ease-in 3s forwards; 
/* Opera */ 
animation: cssAnimation 0s ease-in 3s forwards; 
-webkit-animation-fill-mode: forwards; 
animation-fill-mode: forwards;} 

@keyframes cssAnimation { 
to { 
    width:0; 
    height:0; 
    overflow:hidden; 
}} 

@-webkit-keyframes cssAnimation { 
to { 
    width:0; 
    height:0; 
    visibility:hidden; 
}} 

比我加入這個JS從以下答案($( '#formID1')

jQuery(document).on('animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd', '.formError', function (e) { 
     e.target.remove(); 
    }); 
+0

它會逐個刪除郵件:) –