把input初始值不写value的具体实现方法
1.用<span>标签写,定位在input上,让它单击和input获焦上都消失。
比如制作一个最常见的,input初始值,一般以前,我都只是写在input的value里。但是某天开发说,这不行,会传值七七八八%……@剩下的只能意会不能言传了。所以,要把初始值单独写出来,于是我比较傻逼,就用<span>标签写,定位在input上,让它单击和input获焦上都消失。
一定要牢牢记住的单词。网上那堆,如果你看都不看就直接制作过来用的话,你就特么的是全天下最特么傻逼的人了!!我现在打字双手还在颤抖,实在无法原谅自己,那么微小的错误。对于一个懒人,又笨人。还是把正确的单词放在自己能想得到的地方吧。
previousSibling 查找前一节点。
nextSibling 查找下一节点。
<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" />