zoukankan      html  css  js  c++  java
  • IE下textarea去除回车换行符

    在textarea中回车,会产生转义字符 ,有些时候我们不需要这两个转移字符,也就是清空textarea。下面的方法并不是清空,但是能够起到差不多的效果。

    如果在textarea中按回车,内容提交之后,在textarea中会留下 这两个转义字符,光标会在第二行。下面的程序通过alexa将焦点转出去,再通过onfocus="this.value=''"这段代码,将光标拉回到textarea最开始处,这样就起到简易的清空效果

    效果演示


    程序代码

    01 <textarea id="myTextArea" name="pl" rows="5" style="500px;"onkeypress="send(event)" onfocus="this.value=''"></textarea><br />
    02 <input id="showBtn" name="button" type="button" onclick="send_bet();"value="提交" />
    03 <script>
    04 function send_bet()
    05 {
    06     var myTextArea = document.getElementById("myTextArea");
    07     myTextArea.value = '';
    08     myTextArea.select();
    09 }
    10 function send(event) 
    11
    12     if(event.keyCode==13)  
    13     {  
    14         send_bet(); 
    15         alert("提交成功");
    16         myTextArea.value = '';
    17         myTextArea.focus();
    18     
    19
    20 </script>

    如果习惯了写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文本域的时候,光标就是不在最左边显示,这还不太要紧,更要命的是,由于这些空格的存在,输入的内容还没有到文本域边沿的时候,就自动换行了,除非你将做为默认输入的空格全部删掉了。

  • 相关阅读:
    [BZOJ2296] [POJ Challenge] 随机种子
    [BZOJ1026] [SCOI2009] windy数 (数位dp)
    [BZOJ1306] [CQOI2009] match循环赛 (搜索)
    [BZOJ2654] tree (kruskal & 二分答案)
    [BZOJ3506] [Cqoi2014] 排序机械臂 (splay)
    [BZOJ1552] [Cerc2007] robotic sort (splay)
    [BZOJ3110] [Zjoi2013] K大数查询 (树套树)
    BZOJ3611: [Heoi2014]大工程
    BZOJ2286: [Sdoi2011]消耗战
    BZOJ3876: [Ahoi2014]支线剧情
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4083961.html
Copyright © 2011-2022 走看看