javascript onblur()无效

时间:2015-06-07 17:11:16

标签: javascript html css

我有一个文本框,需要在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;
    }
}

请告诉我这里出了什么问题?

2 个答案:

答案 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; 
  }
}

现在,如果您将文本框保持为空,则不会显示气泡元素。