我有一个包含用户名和密码字段的登录表单。我正在使用占位符来显示每个输入的帮助文本。它在 Firefox 和 Chrome 中运行良好,但在 IE 中却不行,因为占位符是 HTML5 输入属性。我正在编写一个自定义函数来处理 IE 中的占位符。在该特定功能上,我想在 jQuery 中将密码字段输入类型从“密码”更改为“文本”。
请为此提出解决方案。
我有一个包含用户名和密码字段的登录表单。我正在使用占位符来显示每个输入的帮助文本。它在 Firefox 和 Chrome 中运行良好,但在 IE 中却不行,因为占位符是 HTML5 输入属性。我正在编写一个自定义函数来处理 IE 中的占位符。在该特定功能上,我想在 jQuery 中将密码字段输入类型从“密码”更改为“文本”。
请为此提出解决方案。
$('input:password').prop('type','text');
$("#id").attr("type", "text");
编辑:
$("#id").remove();
$("#containerOfInput").append("<input type="text" ........");
而且您不必使用附加。.html("newHTML")
如果您有一个仅包含该输入字段的容器,则可以使用。
这应该有效:
$("#input_field_id").attr("type", "text");
像下面这样的东西应该可以解决问题,
演示:http: //jsfiddle.net/7t6hk/
$('#password').focus(function () {
this.type = 'password'
$(this).removeClass('placeholder').val(function () {
var val = $.trim(this.value);
return (val == 'Password')?'':this.value;
});
}).blur (function () {
$(this).val(function () {
var val = $.trim(this.value);
return (val == '')?'Password':this.value;
});
if (this.value == 'Password') {
$(this).addClass('placeholder')
this.type = 'text';
}
});
刚刚注意到您希望零件更改类型。你可以通过设置来做到这一点this.type
。
this.type = 'text'
为文本字段设置this.type = 'password'
密码字段