2011-06-29 28 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