在textarea中回车,会产生转义字符\r\n,有些时候我们不需要这两个转移字符,也就是清空textarea。下面的方法并不是清空,但是能够起到差不多的效果。
如果在textarea中按回车,内容提交之后,在textarea中会留下\r\n这两个转义字符,光标会在第二行。下面的程序通过alexa将焦点转出去,再通过onfocus="this.value=''"这段代码,将光标拉回到textarea最开始处,这样就起到简易的清空效果
效果演示
程序代码
01 |
<textarea id= "myTextArea" name= "pl" rows= "5" style= "width:500px;" onkeypress= "send(event)" onfocus= "this.value=''" ></textarea><br /> |
02 |
<input id= "showBtn" name= "button" type= "button" onclick= "send_bet();" value= "提交" /> |
06 |
var myTextArea = document.getElementById( "myTextArea" ); |
07 |
myTextArea.value = '' ; |
16 |
myTextArea.value = '' ; |
如果习惯了写XML,也许会写下了这样的HTML代码:
1 |
< textarea name = "test" cols = "20" rows = "4" /> |
结果是,textarea后面的HTML都当作内容出现在了文本域里面了。这是第一个搞笑的地方,不支持常见的标记结束方式;
接着,我给这个textarea加上了value="test"的属性值,事实上在文本域里面什么都看不到,但是我使用如下的Javascript语句却能改变文本域里面显示的内容:document.forms[0].test.value="test";这是第二个搞笑的地方了;
最后一个搞笑的地方是最夸张的了。通常在HTML中的空格都是会被忽略的,但是在textarea开始与结束的标签之间的空格都会照单全收进入到文本域中,作为textarea的默认输入了。由于我习惯了写HTML是喜欢将两个对应的标签写在两行的,结果就可想而知,不管怎么样,当我将焦点定位至TextArea文本域的时候,光标就是不在最左边显示,这还不太要紧,更要命的是,由于这些空格的存在,输入的内容还没有到文本域边沿的时候,就自动换行了,除非你将做为默认输入的空格全部删掉了。