Javascript 获取所有输入类型密码
我是javascript新手。我想在我的html页面上获取所有输入类型的密码 我知道有一种方法可以使用Javascript来完成这类事情,但我不知道怎么做 然后,对于每一个,我想分配一个关于文本更改的事件 我该怎么做 谢谢,我想你是说Javascript 获取所有输入类型密码,javascript,Javascript,我是javascript新手。我想在我的html页面上获取所有输入类型的密码 我知道有一种方法可以使用Javascript来完成这类事情,但我不知道怎么做 然后,对于每一个,我想分配一个关于文本更改的事件 我该怎么做 谢谢,我想你是说 <input type="password"> 如果是这样,您可以尝试以下功能: function getPwdInputs() { var ary = []; var inputs = document.getElementsByTag
<input type="password">
如果是这样,您可以尝试以下功能:
function getPwdInputs() {
var ary = [];
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++) {
if (inputs[i].type.toLowerCase() === "password") {
ary.push(inputs[i]);
}
}
return ary;
}
函数getPwdInputs(){
var ary=[];
var inputs=document.getElementsByTagName(“输入”);
对于(var i=0;i这是未经测试的,但类似的方法应该可以:
var allElem = document.getElementsByTagName(’input’)
for (i=0; i < allElem.length; i++) {
if (allElem[i].getAttribute(’type’)==‘password’) {
allElem[i].onchange = //<your onchange function>
}
}
var allegem=document.getElementsByTagName('input'))
对于(i=0;i
您可以使用以下工具轻松完成此操作:
这里是您的朋友。使用jQuery,只需使用选择器即可:
$('input[type=password]');
然后将已更改的侦听器绑定到每个:
$('input[type=password]').change(function ()
{
// do whatever here
});
我希望Robusto不介意我对他的解决方案进行一点扩展,以使其在现代浏览器上表现得更好。Chrome、Safari、IE8和Firefox都支持,因此,如果可以的话,使用它似乎更合适
function getPwdInputs()
{
// If querySelectorAll is supported, just use that!
if (document.querySelectorAll)
return document.querySelectorAll("input[type='password']");
// If not, use Robusto's solution
var ary = [];
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++) {
if (inputs[i].type.toLowerCase() === "password") {
ary.push(inputs[i]);
}
}
return ary;
}
函数getPwdInputs()
{
//如果querySelectorAll受支持,只需使用它!
if(document.queryselectoral)
returndocument.querySelectorAll(“输入[type='password']”);
//如果没有,请使用Robusto的解决方案
var ary=[];
var inputs=document.getElementsByTagName(“输入”);
对于(var i=0;i)您所说的“密码输入类型”是什么意思?致OP:如果您不介意使用jQuery,此解决方案将是您的最佳选择,因为它具有内置的事件处理功能,不会对对象上已有的事件进行破坏。如果您只需设置.onchange
,则会破坏现有的事件处理程序,如果您想解决此问题,则必须实现自己的方式来存储原始事件处理程序(除非您已经有了一个系统,否则会产生难看的代码)。@Marcel Korpel在这种情况下会有什么区别?如果inputs[i]。type
为null,则会引发异常,如果它不是字符串,则toLowerCase
将不存在,也会引发异常。如果inputs[i].type
是一个字符串,那么toLowerCase
将始终返回一个字符串。希望您不介意,我将您的答案扩展为使用queryselectoral
如果它可用,它为我节省了宝贵的秒数,让我可以编写自己的:-)@蕾妮丝:是的,你是对的。在这种情况下没关系。虽然我认为这是一个好习惯。不,我一点也不介意安迪。任何改进都是受欢迎的。在我工作的地方,我们仍然必须支持IE 6,所以我陷入了最低公分母的编码习惯。但是你是对的,document.queryselectoral,如果有的话,更经济。
function getPwdInputs()
{
// If querySelectorAll is supported, just use that!
if (document.querySelectorAll)
return document.querySelectorAll("input[type='password']");
// If not, use Robusto's solution
var ary = [];
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++) {
if (inputs[i].type.toLowerCase() === "password") {
ary.push(inputs[i]);
}
}
return ary;
}