2011-06-29 59 views
1

這是我的validate方法的一部分:jQuery驗證表單消息中的位置

... 
rules: { 
      name: { 
       required: true 
      }, 
      surname: { 
       required: true 
      }, 
      tel: { 
       required: true, 
       digits: true 
      } 
     }, 
     errorElement: "div" , 
     errorPlacement: function(error, element) { 
     error.insertAfter(element)  
    }.... 

的問題是,當validate方法有放消息的形式,它不會刪除,如果以前的錯誤消息它存在。所以,我對於例如這種情況(如果validate方法運行2次):

NAME: 
HTML_TEXT_INPUT 
ERROR1 
ERROR2 

當第二個錯誤是在errorPlacement,它不會刪除以前的ERROR1。

鋤頭我能解決這個問題嗎?

更新:在jsFiddle http://jsfiddle.net/michelejs/Ax7Bs/它的工作原理,但在http://mongolera.dyndns.biz/projects/regioni/form2.php我有同樣的問題!

它可能是什麼?

+1

我無法重現此,你可以使用任何的機會[此的jsfiddle(HTTP:/ /jsfiddle.net/j3ddP/4/)作爲顯示這種情況的基礎? –

回答

1

我很驚訝你得到這個運行在所有的,這裏是一個問題,您的實現:

container is not defined

這實際上是導致驗證腳本無法運行在所有的我的FF5上您鏈接到的頁面。

如果您能提供一個工作示例,我很樂意提供更多反饋。

EDIT1:我看到這是在Chrome中工作,但您仍應該定義container或刪除該行,您可能會看到問題消失。

EDIT2:我看到您在頁面上使用驗證插件的1.5.2版本,而jsfiddle使用1.8版本。這兩個演示使用jQuery 1.6。

jQuery 1.6和1.8以下版本的驗證插件存在已知問題,我建議您升級到最新版本,因爲我沒有在您提供的代碼中看到任何明顯的錯誤,並且如您所見它在小提琴中工作正常。這裏是鏈接當前驗證插件:

+0

我已將其刪除,但問題仍然存在:( – michele

+0

例如,您可以嘗試在電子郵件文件夾中插入一個字符串,例如「aaa」,在tel文件夾中插入並插入字母后,重複此2段,您可以看到問題 – michele

+1

.............它工作!我不能相信這是一個什麼傻瓜!編輯2解決問題。坦克你韋斯利你是一個朋友! 非常感謝! – michele