您/这是将偶数侦听器添加到 <HTML>/ 标签的正确方法<body>吗?



我试图做一个函数来检查,任何时候在我的页面上改变的东西,如果所有的输入都是有效的。我认为最好的方法是这样做,而不是将函数附加到每个输入将把它放在整个页面上(因此html/body标签,),但这似乎没有工作,没有发生任何事情。我的代码看起来像:

<body onchange="removewarn()">
.
form elements
.
.
</body>

和函数

function removewarn(){
if(all input is valid)
{
document.getElementById('warning').style.visibility="hidden";
}
}

如果所有元素都未填写或无效,则删除页面上的警告。

onchange事件只对Form元素起作用,所以您必须将它添加到每个Form元素中。然而!有一种比内联更简单、更简洁的方法:

for(i=0; i<document.FormName.elements.length; i++)//gets all the elements of your form.
{
    document.FormName.elements[i].onchange = removewarn();//adds the removewarn function to the onchange handler of this element.
}

onchange事件仅支持输入、选择和文本区域,这就是为什么如果您尝试将其绑定到body标记,则永远不会调用函数的原因。

你要么必须在每个输入上绑定它,要么使用类似jQuery的委托方法。

最新更新