[英]javascript / jquery - firefox textarea does not seem to register value
我有一个简单的例程可以向用户显示文本区域中的提示。 如果用户专注于文本区域,并且没有用户输入,则脚本将清除提示。 如果在没有用户输入的情况下该区域模糊,则该区域将显示提示。
这似乎在IE和chrome中可以正常工作,但是firefox 3.6似乎并非每次都能工作。
单击文本区域以聚焦,该文本区域清除文本
不要键入任何内容,然后单击外部以使文本区域失去焦点,提示将显示。
再次单击文本区域以聚焦,但文本不会消失。
在外面单击以散焦
再次单击文本区域以聚焦,这一次文本区域将清除文本。
有任何技巧或见解可以纠正针对Firefox 3.6的此行为?
TIA
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="../jquery-1.6.4.min.js"></script>
</head>
<body >
<div style="text-align:center">
<textarea id="btext" onfocus="clearOnFocus()" onblur="showtip()">
Enter text
</textarea><br>
</div>
<!-- end page -->
<script language="javascript">
function clearOnFocus () {
//alert ('test');
var patt=/Enter text/g;
var result=patt.test($('#btext').val());
if (result) {
$('#btext').val('');
}
}//end of clear
function showtip () {
var textinput = $('#btext').val();
if (textinput == '') {
var btips = 'Enter text';
$('#btext').val(btips);
}
}//end of showtip
</script>
</body>
</html>
您可以使用正则表达式来测试该值是否只是空格。 您还可以针对默认值进行测试,以查看是否输入了任何内容。 这样,您的脚本便独立于textarea的值。
<textarea onfocus="
if (this.value == this.defaultValue)
this.value = '';
"
onblur="if (/^\s*$/.test(this.value))
this.value = this.defaultValue
">Enter text</textarea>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.