Javascript 如果输入并删除文本,则文本框不会验证为空
我对文本框的水印文本有一个恼人的问题 我想要的是,如果用户点击文本框,文本框中没有文本,那么默认文本就会出现(例如搜索…) 我有这个功能来检查它:Javascript 如果输入并删除文本,则文本框不会验证为空,javascript,html,forms,placeholder,Javascript,Html,Forms,Placeholder,我对文本框的水印文本有一个恼人的问题 我想要的是,如果用户点击文本框,文本框中没有文本,那么默认文本就会出现(例如搜索…) 我有这个功能来检查它: document.getElementById("searchtextbox").onblur = function() { if (document.getElementById("searchtextbox").value == "") { document.getElementById("searchtextbox").setAtt
document.getElementById("searchtextbox").onblur = function() {
if (document.getElementById("searchtextbox").value == "") {
document.getElementById("searchtextbox").setAttribute("value", "Search...");
}
如果我只需单击“内”和“外”就可以了。当我单击“内部”,输入文本并将其删除,然后单击“外部”时,问题就出现了
我试着用Length==0,value==null,value.trim()==“”!Value。匹配(/+//)并没有返回此情况的真值。 < P>请考虑使用<强> HTML5<代码>占位符< /C>属性> <强> > /P>
<input type="text" id="searchtextbox" placeholder="Search..." value="" />
如果这是错误的,您可以使用Javascriptplaceholder
hack
更新:如果您需要如何以良好方式实施的帮助,请参阅
我还查看了您的代码并修复了它:
在这里使用
setAttribute
不是正确的方法,您不想设置属性,而是要设置live属性(.value
)。你的IF条件确实有效,但是变化没有反映出来。 < P>请考虑使用<强> HTML5<代码>占位符< /Cord>属性< /强> < /P>
<input type="text" id="searchtextbox" placeholder="Search..." value="" />
如果这是错误的,您可以使用Javascriptplaceholder
hack
更新:如果您需要如何以良好方式实施的帮助,请参阅
我还查看了您的代码并修复了它:
在这里使用
setAttribute
不是正确的方法,您不想设置属性,而是要设置live属性(.value
)。你的IF条件确实起作用了,但是变化没有反映出来。 < P>如BAZMEGGAKAPA建议的,考虑<代码>占位符< /代码>属性。
要回答您的问题,您的代码不起作用,因为您正在使用
setAttribute
,而用户只是修改了属性值
。而不是使用<代码> SETATECTION/CODE >,尝试使用<代码>。value =“查找……”/代码> < /P> < P>作为BZMeGaKAPA建议,考虑<代码>占位符< /Cord>属性> < /P>
要回答您的问题,您的代码不起作用,因为您正在使用
setAttribute
,而用户只是修改了属性值
。不要使用setAttribute
,试着使用.value='Search…'
听起来一点也不刺耳,但你真的认为在浏览器支持较少的情况下使用HTML 5是个好主意吗?@naveen如果是HTML 5Hey,它也不适用于大多数IE版本,感谢您的回复,但我需要它与IE6及以上的工作。@Omer请查看我的编辑。这里的最佳实践是为支持它的浏览器提供HTML5占位符
属性,执行Javascript功能检测,并在出现故障时为IE提供Javascript回退解决方案。@Craig你说的“很少支持”是什么意思?你在开玩笑吗?每个广泛使用的浏览器的最新版本都支持HTML5,包括placeholder
。那么,您将如何定义广泛支持?听起来一点也不刺耳,但您真的认为在浏览器支持较少的情况下使用HTML 5是一个好主意吗?@naveen也不适用于大多数版本的IE,如果它是HTML 5嘿,谢谢您的回复,但我需要它来与IE6及以上一起使用。@Omer请查看我的编辑。这里的最佳实践是为支持它的浏览器提供HTML5占位符
属性,执行Javascript功能检测,并在出现故障时为IE提供Javascript回退解决方案。@Craig你说的“很少支持”是什么意思?你在开玩笑吗?每个广泛使用的浏览器的最新版本都支持HTML5,包括placeholder
。那么您如何定义广泛支持呢?在if条件下使用document.getElementById(“searchtextbox”).value=“search”;在if条件下,使用document.getElementById(“searchtextbox”).value=“search”;我爱你,在过去的两个小时里一直在努力,不知道我做错了什么。使用.value=“Search..”非常有效!我爱你,在过去的两个小时里一直在努力,不知道我做错了什么。使用.value=“Search..”非常有效!
document.getElementById("searchtextbox").onblur = function() {
if (this.value == "") {
this.value="Search...";
}
}