2010-01-25 90 views
1

看看這個驗證演示:定位跨度?

http://jquery.bassistance.de/validate/demo/

的錯誤信息被放置在右側的字段。

我已經在我的郵件中包含了跨度,並且希望將它們放在輸入字段的左側。我怎麼用CSS做到這一點?

+0

你想在驗證失敗的輸入向右移動還是你只是想在標籤和輸入 – 2010-01-25 13:28:21

回答

1

,如果你願意,你可以搞出jquery.validate.js代碼,並尋找這一行:

label.insertAfter(element); 

,並更改爲:?

label.insertBefore(element); 
+0

試圖說,這將推動輸入元素的權利,這不是我想要的。但一個很好的攻擊雖然:) – ajsie 2010-01-25 13:46:27

+0

我認爲你只需要css它...如何給我們一些樣本的html ...在之前和(應該)後期望的輸出狀態... – Reigel 2010-01-25 13:53:23

+0

爲什麼會當jquery.validate允許你自己定製錯誤位置時,你是否會破解它? – BBonifield 2010-01-25 14:12:26

1

你只是想用CSS移動它們(也就是說,沒有改變那些元素出現在HTML中)?一種方法是:position: relative; left: -120px; top:-20px(或者你發現任何值把它們放在所需

+0

澄清之間更多的空間,我看的上的驗證消息一組領域......更有能力的人看起來好像在沒有移動其他東西的情況下沒有空間。 。 。你可以做'float:left'將它們一直帶到行的左邊,並推動其他東西。 。 。或者只是將元素插入到不同的位置以開始(無論是在頁面的HTML源代碼中,還是使用JavaScript)。 – 2010-01-25 13:33:24

+0

問題是如果我使用像素定位它們,則較長的錯誤消息將覆蓋輸入字段,而較短的錯誤消息將遠離左側的輸入字段。他們必須從輸入字段中選擇正確的位置。這是可能的與CSS? – ajsie 2010-01-25 13:38:44

+0

如果您可以更改頁面的HTML(而不是僅僅應用CSS),我會嘗試將錯誤消息和相應的輸入字段放在div中,然後將'float:left'應用於錯誤消息。 (如果你沒有在div中包含它,它將一直浮在行的左邊 - 即,甚至在「名字」,「姓氏」等的左邊。 - 哪個我不認爲是你想要的。) – 2010-01-25 14:16:38