0

如何将 Javascript 代码插入第二个输入?

<input type="checkbox" onchange="document.getElementById('pass').type = this.checked ? 'text' : 'password'"> Show password

原始代码:

document.getElementById('pass').type

好吧,工作,但是..

document.getElementById('pass' 'pass2').type

第二个“ pass2 ”如何添加?

对不起英语不好

4

2 回答 2

2

这是不可能的,只需调用getElementById两次,最好使用实际的事件处理函数。

function togglePasswordVisibility() {
    if(this.checked) {
        document.getElementById('pass').type  = 'text';
        document.getElementById('pass2').type = 'text';
    } else {
        document.getElementById('pass').type  = 'password';
        document.getElementById('pass2').type = 'password';
    }
}

另外,请注意,您的代码在 Internet Explorer 8 和更早版本上不起作用(我认为这是正确的版本号),因为它会type在元素添加到文档后修复。

于 2012-07-22T15:50:31.197 回答
0

如果没有循环或使用 vanilla DOM 函数复制粘贴,您将无法做到这一点。我要么使用 jQuery,要么将这条线变成一个函数,然后可以在更改时调用它。

jQuery等价物:

$('#toggle-pass').click(function() {
    $('#pass, #pass2').prop('type', this.checked ? 'text' : 'password');
});
<label><input type="checkbox" id="toggle-pass" /> Show password</label>
于 2012-07-22T15:49:26.847 回答