完美解決textarea輸入框提示文字,必須添加默認內容
<input/>
有placeholder標簽,可以添加提示文字 ,但是<textarea>
沒有,一般來說我們是把提示內容寫在<textarea>
外面,如下圖:
當然,這樣的布局并不是最想要的效果,
最想要的是文字顯示在輸入框內,點擊輸入框時隱藏,離開輸入框時,如果輸入框沒有內容,又顯示提示:
網上搜到的都是利用js通過獲取或失去焦點來設置textarea的內容,這有個最大的問題就是:因為設置了默認內容,如果用戶不點擊輸入框,直接提交,就把默認的提示內容提交到后臺了。
本人想出來的解決方案是:將提示內容寫在一個p中,通過css的position屬性來控制,將p顯示到<textarea>
中,點擊<textarea>
時,隱藏到p,這樣即使用戶不點擊輸入框直接提交,也不會把默認的提示文字提交到后臺,效果如下圖:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>解決textarea輸入框提示文字,必須添加默認內容</title> <style type="text/css"> body{font-size:12px;} p,p{margin:0;padding:0} .textarea{ width:350px;height:80px;position:absolute;background:none;z-index:9 } .note{ position:absolute;line-height:20px;padding:3px 5px; } </style> </head><body> <p style="position:relative;"> <textarea class="textarea" onfocus="document.getElementById('note').style.display='none'" onblur="if(value=='')document.getElementById('note').style.display='block'"></textarea> <p id="note" class="note"> <font color="#777">在這里寫入你對服務商的額外要求,服務商等級,好評率等</font> </p> </p></body> </html>
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com