由onblur触发的javascript函数会发出警报,但不会改变元素的内部HTML



我编写了一个函数,当用户试图提交无效的电子邮件地址时,该函数会将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 = ""

相关内容

  • 没有找到相关文章

最新更新