在textarea中斷行符號,會產生逸出字元\r\n,有些時候我們不需要這兩個轉移字元,也就是清空textarea。下面的方法並不是清空,但是能夠起到差不多的效果。
如果在textarea中按斷行符號,內容提交之後,在textarea中會留下\r\n這兩個逸出字元,游標會在第二行。下面的程式通過alexa將焦點轉出去,再通過onfocus="this.value=''"這段代碼,將游標拉回到textarea最開始處,這樣就起到簡易的清空效果
效果示範
程式碼
<textarea id="myTextArea" name="pl" rows="5" style="width:500px;" onkeypress="send(event)" onfocus="this.value=''"></textarea><br /><input id="showBtn" name="button" type="button" onclick="send_bet();" value="提交" /><script>function send_bet(){var myTextArea = document.getElementById("myTextArea");myTextArea.value = '';myTextArea.select();}function send(event) { if(event.keyCode==13) { send_bet(); alert("提交成功");myTextArea.value = '';myTextArea.focus(); } } </script>
如果習慣了寫XML,也許會寫下了這樣的HTML代碼:
<textarea name="test" cols="20" rows="4" />
結果是,textarea後面的HTML都當作內容出現在了文本域裡面了。這是第一個搞笑的地方,不支援常見的標記結束方式;
接著,我給這個textarea加上了value="test"的屬性值,事實上在文本域裡面什麼都看不到,但是我使用如下的Javascript語句卻能改變文本域裡面顯示的內容:document.forms[0].test.value="test";這是第二個搞笑的地方了;
最後一個搞笑的地方是最誇張的了。通常在HTML中的空格都是會被忽略的,但是在textarea開始與結束的標籤之間的空格都會照單全收進入到文本域中,作為textarea的預設輸入了。由於我習慣了寫HTML是喜歡將兩個對應的標籤寫在兩行的,結果就可想而知,不管怎麼樣,當我將焦點定位至TextArea文本域的時候,游標就是不在最左邊顯示,這還不太要緊,更要命的是,由於這些空格的存在,輸入的內容還沒有到文本域邊沿的時候,就自動換行了,除非你將做為預設輸入的空格全部刪掉了。