如何在jQuery中更改输入类型属性?

时间:2013-05-22 18:31:59

标签: javascript jquery placeholder

我有一个包含用户名和密码字段的登录表单。我正在使用占位符来显示每个输入的帮助文本。它在Firefox和Chrome中运行良好,但在IE中则不行,因为占位符是HTML5输入属性。我正在编写一个自定义函数来处理IE中的占位符。在该特定函数上,我想在jQuery中将密码字段输入类型从“password”更改为“text”。

请为此提出解决方案。

4 个答案:

答案 0 :(得分:5)

$('input:password').prop('type','text');

演示--> http://jsfiddle.net/47hem/

答案 1 :(得分:0)

$("#id").attr("type", "text");

编辑:

$("#id").remove();
$("#containerOfInput").append("<input type="text" ........");

你不必使用追加。如果您的容器只包含该输入字段,则可以使用.html("newHTML")

答案 2 :(得分:0)

这应该有效:

$("#input_field_id").attr("type", "text");

答案 3 :(得分:0)

下面的内容应该可以解决问题,

DEMO: 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来做到这一点。

  • 为textfield
  • 设置this.type = 'text'
  • 为密码字段
  • 设置this.type = 'password'