[英]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.