如何从密码'更改HTML输入类型属性?到'文&#39 ;?

时间:2014-09-10 20:55:12

标签: javascript html dom

我想更改HTML'input'元素'type'属性,从type =“password”更改为type =“text”。

我知道按ID查找元素会更容易,但并不是每个页面都有相同的密码输入ID。如何定位密码输入并将其内部值更改为一种文本。

我有几行JavaScript代码:

a=document.getElementsByTagName("input"); 
a.setAttribute(type,text);

4 个答案:

答案 0 :(得分:2)

将密码类型的所有元素转换为文本:

var arr = document.getElementsByTagName("input");
for (var i = 0; i < arr.length; i++) {
    if (arr[i].type == 'password') arr[i].setAttribute('type','text');
}

注意:并非所有浏览器都允许对输入的type属性进行动态更改。

答案 1 :(得分:1)

您可以使用以下查询获取密码字段。

document.querySelector('input[type="password"]').type = "text";

如果您要处理多个字段,可以使用querySelectorAll并循环显示它们。

var pwds = document.querySelectorAll('input[type="password"]');
for (var i=0;i<pwds.length;i++){
pwds[i].type = "text";
}

答案 2 :(得分:1)

这会将密码类型的每个输入转换为文档类型文本的输入。

Array.prototype.slice.call(document.querySelectorAll('input[type="password"]'))
    .forEach(function (elt) {
        elt.setAttribute('type', 'text');
    });

答案 3 :(得分:-1)

该函数被称为document.getElementsByTagName(带有s),它产生一个元素列表。因此,您需要使用索引(第一个输入的a[0]等)来解决它。)

我认为问题在于确定您需要更改哪些输入,如果它们没有标记ID。