完美解決textarea輸入框提示文字,必須新增預設內容
<input>
有placeholder標籤,可以加入提示文字,但是<textarea></textarea>
沒有,一般來說我們是把提示內容寫在<textarea></textarea>
外面,如下圖:
#當然,這樣的佈局並不是最想要的效果,
最想要的是文字顯示在輸入框內,點擊輸入框時隱藏,離開輸入框時,如果輸入框沒有內容,又顯示提示:
網路上搜到的都是利用js透過取得或失去焦點來設定textarea的內容,這有個最大的問題就是:因為設定了預設內容,如果使用者不點擊輸入框,直接提交,就把預設的提示內容提交到後台了。
本人想出來的解決方案是:將提示內容寫在一個p中,透過css的position屬性來控制,將p顯示到<textarea></textarea>
中,點擊<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>
以上是html中textarea輸入框提示文字必須添加預設內容的完美解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!