2013-03-25 61 views
0

这是我第一次在网站中使用JavaScript。我对语言的理解很低,非常依赖教程和阅读其他人的问题/解决方案。错误的位置不允许jquery验证工作

我有一个使用表格格式化的HTML表单。我碰巧在表格中也有一些单选按钮,发生了什么事情,一旦我在JavaScript代码中包含errorPlacement,就不会发生表单验证。我需要的错误信息不会破坏我的单选按钮的文本,希望在选项之前或之后出现在顶部。

如果我取出errorPlacement代码,验证('此字段是必需的'消息出现在默认位置)按常规工作。

请看看我的代码,并让我知道我是否缺少任何东西。我有一种感觉,就像逗号或括号一样简单,我尝试了一些解决方法,但似乎没有任何工作。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#quoteform").validate({ 
      errorPlacement: function(error, element) { 
       error.insertBefore(element); 
      },   
     }), 
    })       
</script> 

回答

1

你有几个语法错误 - 应该是

$(document).ready(function() { 
    $("#quoteform").validate({ 
     errorPlacement: function (error, element) { 
      error.insertBefore(element); 
     } 
    }); 
}) 
+0

嗨Politus ...是的,这似乎是正确的。验证正在工作。非常感谢。 – kmen 2013-03-25 14:15:48

-1

错误是一个字符串。所以error.insertBefore没有意义。 尝试$("<div>").insertBefore (element).text (error)

+0

没有,错误是一个jQuery包裹组包含只有一个元素,这就是错误 - http://docs.jquery.com/Plugins/Validation/validate#toptions – 2013-03-25 09:31:20

+0

嗨politus,我很抱歉,但我并不真正了解你的解释。这是否意味着我不应该使用元素进行错误放置? – kmen 2013-03-25 09:36:39

+0

不,你应该使用它,我只是说这个答案是不正确的 - 在errorPlacement这两个参数都是jQuery对象所以error.insertBefore(元素)很好 – 2013-03-25 09:49:23