onblur触发的javascript函数会发出警报,但不会';不能更改元素的内部HTML

onblur触发的javascript函数会发出警报,但不会';不能更改元素的内部HTML,javascript,innerhtml,onblur,Javascript,Innerhtml,Onblur,我编写了一个函数,当用户试图提交一个无效的电子邮件地址时,将id为“mail\u not\u valid”的span的innerHTML设置为“似乎不正确”。很好。另一个函数清除输入字段,并由onfocus触发。第三个函数由onblur触发,当用户没有输入任何内容时,将输入字段重置为其原始值。现在问题来了:如果用户单击字段(->清除),输入一封无效的电子邮件(->显示span),然后删除他的条目并离开表单,span仍然存在 现在,当我替换document.getElementById(“mail

我编写了一个函数,当用户试图提交一个无效的电子邮件地址时,将id为“mail\u not\u valid”的span的innerHTML设置为“似乎不正确”。很好。另一个函数清除输入字段,并由onfocus触发。第三个函数由onblur触发,当用户没有输入任何内容时,将输入字段重置为其原始值。现在问题来了:如果用户单击字段(->清除),输入一封无效的电子邮件(->显示span),然后删除他的条目并离开表单,span仍然存在

现在,当我替换document.getElementById(“mail_not_valid”).innerHTML=“”;有了警报,警报就会出现。但是,更改innerHTML不起作用

编辑:我是个白痴,如果用户已经写了一些东西,它就不能工作:if(!(feld.value))


功能状态(feld、inhalt){
如果(!(原值)){
feld.value=inhalt;
if(document.getElementById(“mail\u not\u valid”).innerHTML==“这似乎不正确。”){
document.getElementById(“邮件无效”).innerHTML=“”;
}   
}
}

您有一个输入错误。应该是这样的:

if (document.getElementById("mail_not_valid").innerHTML == "that doesn't seem right."){
    document.getElementById("mail_not_valid").innerHTML = "";
}
请注意单个等号


另外,不要复制/粘贴代码。使用合适的编辑器/IDE。复制/粘贴是邪恶的!:)

innerHTML==”
更改为
innerHTML=“”

不确定这是否只是一个打字错误,但在您的示例中,您使用的是比较运算符(
=
)而不是赋值运算符(
=
)。HTML实际上是否包含id为
的元素mail\u无效?控制台中有错误吗?您是否尝试过发出警报或使用console.log(document.getElementById(“邮件无效”).innerHTML以确保它与您的比较结果相等?在这种情况下,如果您有空格/换行符等,则会取消比较,除非它们完全匹配。啊,是的,斯科特找到了,哈哈,很好的接球手,我不知道我怎么会错过:P他是对的。在那一行上,Change==to=可能会起作用,lolI已经+1了,但是如果可以的话,我会再给你一个复制/粘贴评论!
if (document.getElementById("mail_not_valid").innerHTML == "that doesn't seem right."){
    document.getElementById("mail_not_valid").innerHTML = "";
}