<input type="password" name="info[password]" id="password3" class="list-input" onblur="if(this.value==''){this.value='请输入6-20位密码';}" onfocus="if(this.value=='请输入6-20位密码'){this.value='';}" value="请输入6-20位密码" placeholder="请输入6-20位密码"/>
这句话现在默认显示的······,鼠标点击到输入框后才显示“请输入6-20位密码”。怎样才能让它默认显示“请输入6-20位密码”,输入后变成················
你乱七八糟的属性写了一堆,唯独没写placeholder。。。
placeholder="请输入6-20位密码" , 把这个加到input中去
你用js赋值给vulue当然会被显示为*了,可以尝试在input标签加上placeholder
新版浏览器都支持placeholder,再设置css属性使文字灰色,不至于太黑。
使用placeholder
如果不需要考虑IE下的兼容性问题,那么最简单的办法就是placeholder
但是placeholder属性兼容性最高到IE10
所以如果需要考虑兼容IE10以下的浏览器的话 建议你看一下一个插件jquery-placeholder
移动端可以兼容,如果pc端,可以下载插件兼容ie8-
下载地址:
链接描述
<input type="password" placeholder="你想显示的默认文字">
最简单的是 placeholder, 但是这个不兼容IE,
兼容性的方式是
写一个 em标签 (位置是 input的兄弟节点) position 绝对定位到输入框输入的位置,
用JS 判断控制是否有 focus/ blur/ keyin 的状态 来确认 em标签是否显示