2009-12-24 118 views
0

我已經問了question類似於此前一段時間,我認爲我解決了我的問題,但現在看來我沒有。現在處理這個問題已經有一段時間了,我完全不知道該怎麼做。Facebook喜歡登錄表單

我從前面的問題中得到的答案是有效的,但是當我重新調整窗口大小時,密碼標籤會在重新調整窗口大小時消失。它並沒有完全放在FF(3.0.5)中,而是在FF(3.5.6)和IE7中,但是當窗口重新調整大小時,所有問題都會出現同樣的問題。

我想要做的是把標籤放在輸入後面,這樣看起來輸入有'密碼'的值。有誰知道Facebook是如何解決這個問題的?

www.facebook.com看看登錄表單,密碼字段。當你點擊它的密碼消失,您在輸入密碼。

我得到這個另一個有用的鏈接是從David Dorwardhttp://dorward.me.uk/tmp/label-work/example.html ,但他使用jquery,我被允許使用原型或純JavaScript。我可以得到任何幫助/意見/提示/技巧我已經處理了一段時間,現在我只是沒有想法。

謝謝

回答

0

考慮使用CSS背景圖像這一點。用所需文本創建兩個(透明)背景圖像並在類中定義它。在空字段中默認顯示它。使用JS focus事件刪除與圖像關聯的類,並使用JS blur事件檢查是否沒有值並添加與圖像關聯的類。

+0

我喜歡你的解決方案的更多..這完全合作。我得寫這個博客條目..第三次嘗試bullz眼:P TNX M8 – ant 2009-12-24 13:42:13

+1

圖片文字?請不要,他們是無法進入的化身。 – Quentin 2009-12-27 10:45:38

1

該技術被稱爲水印,並在互聯網上有一些插件爲js框架和教程做純JavaScript。

我認爲Facebook正在使用一個小的解決方法來顯示密碼字段上的明文的水印:真正的密碼字段是隱藏的,並顯示一個文本字段與密碼提示。當你點擊該字段時,從dom中刪除佔位符元素並顯示真實密碼字段。

1

這裏的問題不是JavaScript(因此在示例中使用庫不重要)。

這是基本的CSS定位。

您需要建立一個包含塊來定位標籤和輸入內部。這樣,所有的定位都與該塊相關,並且與頁面上所有其他位置無關。

在一個元素上設置position: relative來建立這個。這個例子確實存在這裏:

body.js .slim-control { 
    position: relative; 
    height: 1em; 
}