我有一个文本框,需要在onblur()
事件后进行验证。应该有错误消息,当且仅当文本框为空时,否则网页上不显示任何消息。但我认为if
每次都会执行javascript的一部分。
<input placeholder="First Name" type="text" name="fname" onblur="validatefname()">
Javascript功能
function validatefname(){
var fn=document.getElementsByName("fname").value;
if(fn==null || fn==""){
document.getElementById("bubble").style.visibility="visible";
return false;
}
else{
document.getElementById("bubble").style.visibility="hidden";
return true;
}
}
请告诉我这里出了什么问题?
答案 0 :(得分:4)
getElement s 按名称,返回一组DOM元素 s ,因此您需要
var fn=document.getElementsByName("fname")[0].value;
答案 1 :(得分:1)
您可以按如下方式在验证函数中传递input元素:
<input placeholder="First Name" type="text" name="fname" onblur="validatefname(this)">
并在验证功能中访问相同的内容,如下所示
function validatefname(elem){
var fn=elem.value;
if(fn==null||fn=="")
{
document.getElementById("bubble").style.visibility="visible";
return false;
}
else{
document.getElementById("bubble").style.visibility="hidden";
return true;
}
}
现在,如果您将文本框保持为空,则不会显示气泡元素。