我编写了一个函数,当用户试图提交无效的电子邮件地址时,该函数会将id为"mail_not_valid"的span的innerHTML设置为"看起来不正确"。工作良好。另一个功能清除输入字段并由onfocus触发。第三个函数由onblur触发,当用户没有输入任何内容时,它会将输入字段重置为其原始值。现在的问题是:如果用户单击字段(->清除),输入一封无效的电子邮件(->显示span),然后删除他的条目并离开表单,则span仍然存在。
现在,当我替换document.getElementById("mail_not_valid").innerHTML=";有了警报,警报就会显示出来。不过,更改innerHTML是行不通的。
编辑:我是个白痴,如果用户已经写了一些东西,它就不能工作:if(!(feld.value))
<input onblur="OnBlurCondition (this, 'subscribe to the e-mail newsletter')">
<script language="javascript">
function OnBlurCondition (feld, inhalt) {
if (!(feld.value)){
feld.value = inhalt;
if (document.getElementById("mail_not_valid").innerHTML == "that doesn't seem right."){
document.getElementById("mail_not_valid").innerHTML = "";
}
}
}
</script>
您有一个打字错误。应该是这样的:
if (document.getElementById("mail_not_valid").innerHTML == "that doesn't seem right."){
document.getElementById("mail_not_valid").innerHTML = "";
}
注意单个等号。
此外,不要复制/粘贴代码。使用体面的编辑器/IDE。复制/粘贴是邪恶的!:)
将innerHTML == ""
更改为innerHTML = ""