javascript if else语句错误

时间:2012-04-25 23:27:00

标签: javascript

我正在尝试检查名称文本字段是否为空。如果是,那么我想显示一个说“请输入你的名字”的div。我做了一个测试,名字='名字'。但在那之后,没有别的东西出现了。

function validate(input, name) {
if(name=='name') {
        if(input==null || input=="") {
            name.style.visibility='visible';
            alert("please enter a value");
        } else {
            alert("valid entry.");
        }
    }
}

当我使用警告框打印输入时,它不包含任何内容;所以我知道它是null或“”。我该如何解决这个问题呢?

这是我的文字字段:

<input type="text" name="name" id="name" onblur="javascript: validate(this.value, this.id);" required />
    <div id="name" style="visibility:hidden; float:right;">Please fill in a name!</div>

1 个答案:

答案 0 :(得分:1)

javascript:协议仅在您在网址中使用Javascript时使用,不要在事件处理程序中使用它。

您不能拥有两个具有相同ID的元素。 id必须是唯一的。

在XHTML中没有没有值的属性。您应该使用required="required"而不仅仅是required

您不必检查null的值。文本字段的值永远不会为空。

使用getElementById方法从其ID中查找元素。

function validate(input, name) {
  if (name == 'name') {
    if (input == '') {
      document.getElementById('nameInfo').style.visibility = 'visible';
      alert("please enter a value");
    } else {
      alert("valid entry.");
    }
  }
}

<input type="text" name="name" id="name" onblur="validate(this.value, this.id);" required="required" />
<div id="nameInfo" style="visibility:hidden; float:right;">Please fill in a name!</div>