Jquery 如何在密码字段中放置文本水印?
我希望在我的密码字段中有一个水印,上面写着“密码”。Jquery 如何在密码字段中放置文本水印?,jquery,html,Jquery,Html,我希望在我的密码字段中有一个水印,上面写着“密码”。 这是我的代码: jquery: html: 我的朋友: 编辑:我更喜欢jquery:) 编辑:我们的兄弟康拉德·加齐纳已经给了我我想要的东西,但是谢谢大家的努力 使用html的占位符 <input class="ui_input" id="input_pwd" type="password" name="pass" id="pass" style="height:25px; width:250px; font-size:14p
这是我的代码:
jquery: html:
我的朋友:
编辑:我更喜欢jquery:)
编辑:我们的兄弟康拉德·加齐纳已经给了我我想要的东西,但是谢谢大家的努力 使用html的
占位符
<input class="ui_input" id="input_pwd" type="password" name="pass" id="pass" style="height:25px; width:250px; font-size:14px;" placeholder='Password' required />
你不需要任何js
注意:InternetExplorer10、Firefox、Opera、Chrome和Safari支持占位符属性。不幸的是,正如评论中所述,它对旧版IE不起作用。如果您想支持Internet Explorer,可以在输入字段顶部使用浮动标签。也就是说,
标记有一个相应的
标记,该标记在CSS中有一个float:left
,它们的位置使标签位于输入字段的顶部。您还需要在激活输入字段并隐藏标签的标签上添加。单击()
事件处理程序,在分别隐藏和显示标签的输入字段上添加。focus()
和。blur()
如果您不需要支持Internet Explorer,那么
标记的占位符属性就足够了。为什么不简单呢
添加placeholder=“您的初始值”
将解决我希望的问题 您可以使用占位符
输入属性
Username:<input type='text' placeholder="Username"/> <br/>
Password: <input type='text' placeholder="Password"/>
用户名:
密码:
请参见此您可以将类型设置为默认的文本
,并在删除水印
类的同时使用JS将其更改为密码
HTML:
勾选fiddle-如果你不能使用HTML5,那么根据@Konrad Gadzina的第一个答案,尝试切换模式,或者试试这个fiddle:
在密码框旁边放置一个文本框,然后将其切换为焦点和模糊
$(document).ready(function() {
var watermark = 'Password';
//init, set watermark text and class
$('#input_pwd').hide();
$('#input_pwd_fake').val(watermark).addClass('watermark');
//if blur and no value inside, set watermark text and class again.
$('#input_pwd').blur(function(){
if ($(this).val() == ''){
$(this).hide();
$('#input_pwd_fake').show().val(watermark).addClass('watermark');
}
});
//if focus and text is watermrk, set it to empty and remove the watermark class
$('#input_pwd_fake').focus(function(){
$(this).hide();
$('#input_pwd').show().focus();
});
});
这将跨浏览器工作,因为它是一个简单的JavaScript,用于检查是否设置了一个值,并且是否等于onfocus或onblur的默认设置值
<input type="password" onfocus="if(this.value=='Password') {this.value='';}" onblur="if(this.value=='') {this.value='Password'}" value="Password" />
我很惊讶没有人提到Mathrias的建议。它允许对不支持HTML5(如IE8)的旧浏览器使用占位符属性
演示:
但是要注意字体,IE8不支持自定义字体的密码字段中的点。为CSS中的水印设置一个类
input.watermark {
color: #D3D3D3; font-weight: 400;
}
jQuery:-
$(document).ready(function() {
var watermark = ''; // watermark value
$('#myID').val(watermark).addClass('watermark');
$('#myID').blur(function(){
if ($(this).val().length == 0){
$(this).val(watermark).addClass('watermark');
}
});
$('#input_fname').focus(function(){
if ($(this).val() == watermark){
$(this).val('').removeClass('watermark');
}
});
});
你是说“占位符”吗?在你进一步讨论之前,先了解一下水印和占位符的定义——它们几乎没有什么联系。IE<9可能需要JS。mozilla firefox支持它吗?@Tom firefox支持它吗?是的,我们可以看到在这个问题中有很多反对票,你能解释一下原因吗?用户没有明确指定他使用的浏览器,我们只是根据他的代码中的jquery()代码片段进行假设。@Tom grat,我很高兴这有帮助。如果此答案符合您的需要,请记住将其标记为已接受答案,以表明您的问题已解决。这是HTML5属性。像Firefox3.x这样的旧浏览器无法工作。
$(document).ready(function() {
var watermark = 'Password';
//init, set watermark text and class
$('#input_pwd').hide();
$('#input_pwd_fake').val(watermark).addClass('watermark');
//if blur and no value inside, set watermark text and class again.
$('#input_pwd').blur(function(){
if ($(this).val() == ''){
$(this).hide();
$('#input_pwd_fake').show().val(watermark).addClass('watermark');
}
});
//if focus and text is watermrk, set it to empty and remove the watermark class
$('#input_pwd_fake').focus(function(){
$(this).hide();
$('#input_pwd').show().focus();
});
});
<input type="password" onfocus="if(this.value=='Password') {this.value='';}" onblur="if(this.value=='') {this.value='Password'}" value="Password" />
input.watermark {
color: #D3D3D3; font-weight: 400;
}
$(document).ready(function() {
var watermark = ''; // watermark value
$('#myID').val(watermark).addClass('watermark');
$('#myID').blur(function(){
if ($(this).val().length == 0){
$(this).val(watermark).addClass('watermark');
}
});
$('#input_fname').focus(function(){
if ($(this).val() == watermark){
$(this).val('').removeClass('watermark');
}
});
});