0

我正在尝试检查名称文本字段是否为空。如果是,那么我想显示一个显示“请输入您的姓名”的 div。我做了一个测试,name='name'。但在那之后,没有其他弹出。

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

当我使用警告框打印输入时,它不包含任何内容;所以我知道它要么是空的,要么是“”。我该如何解决这个问题以使其正常工作?

这是我的文本字段:

<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>
4

1 回答 1

1

javascript:协议仅在 URL 中有 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>
于 2012-04-26T00:01:29.117 回答