Javascript 为什么';t my reset()函数是否删除红色错误行?
Javascript 为什么';t my reset()函数是否删除红色错误行?,javascript,html,function,Javascript,Html,Function,函数验证(){ var fname=document.getElementById(“fname”).value; document.getElementById(“errorfname”).innerHTML=“”; 如果(checkfname()==true){ 警告(“条目已提交”); }否则{ 返回false; } } 函数checkfname(){ var fname=document.getElementById(“fname”).value; 如果(fname.length==0)
函数验证(){
var fname=document.getElementById(“fname”).value;
document.getElementById(“errorfname”).innerHTML=“”;
如果(checkfname()==true){
警告(“条目已提交”);
}否则{
返回false;
}
}
函数checkfname(){
var fname=document.getElementById(“fname”).value;
如果(fname.length==0){
document.getElementById(“errorfname”).innerHTML=“无效的名字。不能为空。”;
返回false;
}如果(!isNaN(fname))则为else{
document.getElementById(“errorfname”).innerHTML=“名称无效。不能包含数字。”;
返回false;
}否则{
返回true;
}
}
函数addRow(){
如果(validate()==true){
}
}
名字:
我创建了一个小提琴来测试你的问题。我注意到了同样的事情。我将方法reset()
更改为resetTest()
,效果很好
更改名称有效的原因是onxyz=
属性事件处理程序(有效地)在两个with
语句中运行,其中一个是with(theEnclosingFormElement)
。表单元素有一个内置的reset方法,该方法将其所有输入清除为初始值。因此,在这方面:
<input id = "clear" type = "button" value = "Reset" onclick = "reset()"/>
调用的
reset
不是您的reset
,而是表单的reset
,它(当然)与errorfname
没有任何关系。更改名称可以消除冲突。我创建了一个小提琴来测试您的问题。我注意到了同样的事情。我将方法reset()
更改为resetTest()
,效果很好
更改名称有效的原因是onxyz=
属性事件处理程序(有效地)在两个with
语句中运行,其中一个是with(theEnclosingFormElement)
。表单元素有一个内置的reset方法,该方法将其所有输入清除为初始值。因此,在这方面:
<input id = "clear" type = "button" value = "Reset" onclick = "reset()"/>
调用的reset
不是您的reset
,而是表单的reset
,它(当然)与errorfname
没有任何关系。更改名称将删除冲突