2010-09-11 15 views

回答

3

您需要使用自定義錯誤元素位置(這裏面去.validate()),如:

errorElement: "div", 
errorPlacement: function(error, element) { 
     element.before(error); 
} 

這將是表單元素前右側插入包含錯誤信息的div產生錯誤。通過改變給定示例中的第三行,您可以將該元素移動到任意位置。例如,根據你的代碼,徹底將其移出表外,你可以使用:

errorElement: "div", 
errorPlacement: function(error, element) { 
     element.parent().parent().parent().before(error); 
} 

...那將它放在整個形式之前。當然,這將是更優雅簡單地指定形式之外的誤差範圍...

<div id="error_goes_here"></div> 
<form ... 

...,然後將出現錯誤:

errorElement: "div", 
errorPlacement: function(error, element) { 
     $("#error_goes_here").html(error); 
} 

取決於哪種方式你決定去,你甚至不需要使用errorElement,只是errorPlacement。對this question的選擇答案也應該給你更多關於如何使用它的信息。

希望這會有所幫助!


編輯:

到誤差元件定位到右邊,添加錯誤放置代碼內.validate()

$("#commentForm2").validate({ 
    errorElement: "div", 
    errorPlacement: function(error, element) { 
     element.after(error); 
    } 
}); 

所產生的誤差元件被自動分配一個稱爲.error類,所以,如果需要的話,你可以用CSS樣式:

div.error { 
    // your CSS 
} 
+0

我在CSS的差距惹惱了我這裏。我希望每條錯誤消息都出現在select所在的表的內部,包含select的表的內部,我該怎麼做? – andandandand 2010-09-11 17:23:46

+0

那會在'select'元素的左邊還是右邊? – 2010-09-11 17:35:41

+0

在它的權利。 – andandandand 2010-09-11 17:39:45