2011-06-20 61 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

它会逐个删除邮件:) –