1.用<span>標簽寫,定位在input上,讓它單擊和input獲焦上都消失。
比如制作一個最常見的,input初始值,一般以前,我都只是寫在input的value裡。但是某天開發說,這不行,會傳值七七八八%……@剩下的只能意會不能言傳了。所以,要把初始值單獨寫出來,於是我比較傻逼,就用<span>標簽寫,定位在input上,讓它單擊和input獲焦上都消失。
一定要牢牢記住的單詞。網上那堆,如果你看都不看就直接制作過來用的話,你就特麼的是全天下最特麼傻逼的人了!!我現在打字雙手還在顫抖,實在無法原諒自己,那麼微小的錯誤。對於一個懶人,又笨人。還是把正確的單詞放在自己能想得到的地方吧。
previousSibling 查找前一節點。
nextSibling 查找下一節點。
html 復制代碼 代碼如下:
<label class="password">
<span class="passText" onClick="CHECKON.hide(this,oldpwd)" id="oldPass">原密碼</span>
<input type="password" name="oldpwd" id="oldpwd" onfocus="CHECKON.showHelpInfo(this);" class="text" autocomplete="off" />
</label>
css
.password{ position:relative; }
.passText{ position:absolute; left:5px; top:0px; color:#a9a9a9; font-size:14px;}
js,注意那個長長長長長長長的單詞!!!!!再拼錯就剁手。
復制代碼 代碼如下:
var CHECKON={
showHelpInfo:function(idTa){
var pve=(idTa.previousSibling.nodeType==1)?idTa.previousSibling:idTa.previousSibling.previousSibling;
pve.style.display='none'
},
hide:function(classN,id2){
var idBox=document.getElementById(id2);
classN.style.display='none';
idBox.focus();
}
}
2.用背景圖片的方式,給input添加背景圖片,當獲焦時,讓圖片消失。
3.html5裡有個最新屬性,placeholder屬性,它會自覺出現在input裡,並以灰色呈現。但是只在input輸入時才會消失。 But html5,你懂的,ie8啥的不支持。
以上還有一個問題,就是浏覽器會把之前的已經輸入的記錄記著,當再次打開登錄頁面時,帳號密碼就出自覺出現。是當然是好事。but,對於之前設置的span標簽定位的方法來說,就會出現 重影。
如果用背景圖,是基本能解決,但,ie7不行。
在head頭中加上了如下代碼,即清除掉之前緩存登錄記錄:
復制代碼 代碼如下:
<meta http-equiv= "Pragma" content= "no-cache" />
<meta http-equiv= "Cache-Control" content= "no-cache" />
<meta http-equiv= "Expires" content= "0" />