我正在尝试检查名称文本字段是否为空。如果是,那么我想显示一个说“请输入你的名字”的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>
答案 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>