如果所有输入都有效,我正试图在我的页面上随时更改某些内容时进行检查。我认为最好的方法是做到这一点,而不是将函数附加到每个输入将是将它放在整个页面上(因此html / body标签),但这似乎并没有发生任何事情。我的代码如下:
<body onchange="removewarn()">
.
form elements
.
.
</body>
和功能
function removewarn(){
if(all input is valid)
{
document.getElementById('warning').style.visibility="hidden";
}
}
如果所有元素都没有填写或无效,则删除页面上的警告。
答案 0 :(得分:1)
onchange事件仅适用于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.
}
答案 1 :(得分:0)
只有输入,选择和textareas支持onchange
事件,这就是为什么如果你试图将它绑定到body标签,你的函数永远不会被调用。
您必须在每个输入上绑定它,或者使用类似jQuery's delegate method的内容。