我正在处理文本框中的显示文字&使用以下代码
<input name="keyword" type="text" value="no spaces, or hyphens" onblur="this.value=(this.value=="") ? 'no spaces, or hyphens' : this.value;" onfocus="this.value=(this.value=='no spaces, or hyphens') ? "" : this.value;" class="txtfield">
但是当我在文本框中单击时,它会出现以下错误:
时间戳:2013年7月17日下午12:45:19
错误:SyntaxError:语法错误
行:1,列:51
源代码:
this.value=(this.value=='no spaces, or hyphens') ?
为什么会出现此错误?
答案 0 :(得分:1)
您需要使用单引号,或者转义双引号。
单引号
<input name="keyword" type="text" value="no spaces, or hyphens" onblur="this.value = (this.value == '') ? 'no spaces, or hyphens' : this.value;" onfocus="this.value = (this.value == 'no spaces, or hyphens') ? '' : this.value;" class="txtfield">
Escaped Double Quotes
<input name="keyword" type="text" value="no spaces, or hyphens" onblur="this.value = (this.value == \"\") ? \"no spaces, or hyphens\" : this.value;" onfocus="this.value = (this.value == \"no spaces, or hyphens\") ? \"\" : this.value;" class="txtfield">
更优雅的解决方案显然是单引号。
答案 1 :(得分:0)
<input name="keyword" type="text" value="no spaces, or hyphens" onblur="if(this.value =='') {this.value='no spaces, or hyphens'}" onfocus="if(this.value =='no spaces, or hyphens') {this.value=''}" class="txtfield">
答案 2 :(得分:0)
有报价相关的错误 你的onblur属性应该是这样的
onblur="this.value=(this.value=='') ? 'no spaces, or hyphens' : this.value;"
答案 3 :(得分:0)
使用占位符html5属性,如下面的javascript。
<input name="keyword" type="text" value="" placeholder="no spaces, or hyphens" class="txtfield">