2013-03-25 30 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