这是我回答的一个问题,原贴大致如下:大意是“文本框能自动增加高度如何实现?,输入邮件地址,邮件地址不能中间断开自动换行。(分号结束且中间没空格)
我的答题:(原贴原封不动拷贝)
<asp:TextBox ID="TextBox1" runat="server" onkeyup="test()" onFocus="this.select();" TextMode="MultiLine" style="width:300px; display: block; overflow:visible;"></asp:TextBox>    <script type="text/javascript">
        function test() {
            var s0 = "";
            if (event.keyCode == 186) {
                var s = document.getElementById("TextBox1").value;
                ss = s.split(";");
                if (ss.length > 2) {
                    for (var i = 0; i < ss.length - 1; i++) {
                        s0 += Trim(ss[i]) + "; ";
                    }
                    document.getElementById("TextBox1").value = s0;
                }
            }
        }
        function Trim(str) {
            return str.replace(/^\s+/, '').replace(/\s+$/, '');
        }
    </script>阿非说:“知之为知之,不知为不知“,说我“给出错误的回复“,
没什么好说的,请朋友们帮我测试一下究竟错在那里?不胜感谢!也敬请阿非说出错误所在
(注:js中我是考虑到了在中间也可插入邮件并能在分号处换行,朋友们也可测试一下)另一位高手也回答了这个贴子,的确很简洁,还考虑到了回车,但是没有考虑中间插入邮件情况
附代码:
html:
        <div id="ifrmInput" contenteditable="true" onkeydown="javascript:return GoKeyDown(this,event)"
            style="border: solid 1px red; height: 22px; line-height: 22px; width: 200px;
            overflow-y: visible; overflow-x: hidden; word-wrap: break-word">
        </div>js:
    <script>
        function GoKeyDown(txt, evt) {
            if (evt.keyCode == 13) {
                return false;
            }
            if (evt.keyCode == 186) {
                txt.innerHTML += "; ";
                return false;
            }
        }
    </script>

解决方案 »

  1.   

    非常感谢antiking测试,题目的前提是符合邮件格式!
    当然这可以进一步完善!!
      

  2.   


    <!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>
        <title>无标题页</title>
        <style type="text/css" >
             
              
              /* Rule 1 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: auto; COLOR: #000; PADDING-TOP: 0px} 
              /* Rule 2 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              BODY { FONT-SIZE: 12px} 
              /* Rule 3 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              BODY { FONT-FAMILY: verdana,sans-serif} 
              /* Rule 673 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .ipt-t-dft { BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BACKGROUND: #fff; BORDER-LEFT: 1px solid; CURSOR: text; BORDER-BOTTOM: 1px solid} 
              /* Rule 678 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .ipt-t-dft-active { BACKGROUND: #ffffe1} 
              /* Rule 1465 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .gCmp-form .g-addrs { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; MIN-HEIGHT: 20px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; HEIGHT: 24px} 
              /* Rule 115 of http://mimg.126.net/p/js35/1005181203/css/skin_163blue.css */ 
              .ipt-t-dft { BORDER-LEFT-COLOR: #6c92ad; BORDER-BOTTOM-COLOR: #6c92ad; BORDER-TOP-COLOR: #6c92ad; BORDER-RIGHT-COLOR: #6c92ad} 
              /* Rule 89 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .g-addrs .g-addr { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -khtml-box-sizing: border-box; box-sizing: border-box} 
              /* Rule 145 of http://mimg.126.net/p/js35/1005181203/css/global.css */
              .g-addr { DISPLAY: inline; VERTICAL-ALIGN: middle; ZOOM: 1; -moz-box-align: center} 
              /* Rule 753 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .g-addr { PADDING-RIGHT: 0px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; MARGIN: -1px 0px -1px -3px; CURSOR: pointer; PADDING-TOP: 1px; FONT-FAMILY: tahoma,verdana,sans-serif; WHITE-SPACE: nowrap} 
              /* Rule 764 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .g-addrs .g-addr { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #fff 1px solid; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; MARGIN: 0px 4px 0px 0px; OVERFLOW: hidden; BORDER-LEFT: #fff 1px solid; CURSOR: default; PADDING-TOP: 1px; BORDER-BOTTOM: #fff 1px solid; HEIGHT: 20px} 
              /* Rule 766 of http://mimg.126.net/p/js35/1005181203/css/global.css */ 
              .ipt-t-dft-active .g-addr { BORDER-LEFT-COLOR: #ffffe1; BORDER-BOTTOM-COLOR: #ffffe1; BORDER-TOP-COLOR: #ffffe1; BORDER-RIGHT-COLOR: #ffffe1} 
              
              
              </style>
    <script>
    function changeStyle(obj,flag)
    {
        //onmouseover flag 0,onmouseout flag 1
        if(flag==0)
        {
            obj.style.backgroundColor='#66ccff';
        }
        else{
            obj.style.backgroundColor='';
        }
    }function changeText(obj,evt,flag)
    {
        // evt.keyCode==186 => ;
        if(evt.keyCode==186||flag==1)
        {
            
            var end=obj.innerHTML.lastIndexOf('</DIV>')+6;
            end=end<7?0:end;
           var html= obj.innerHTML.slice(0,end);
           var myArray=obj.innerText.split(';');         
              var div="<div class=g-addr onmouseout=changeStyle(this,1); onmouseover=changeStyle(this,0);><STRONG>"+myArray[myArray.length-1]+"</STRONG>;</div>";
           if(myArray[myArray.length-1]!='')
           {
              obj.innerHTML=html+div;
              evt.returnValue='';
           }      
        }
        }
    </script>
    </head><body>
        
        <table>
        <tr>
        <td>收件人:</td>
        <td style="width:200px;">
    <div contenteditable="true" class="ipt-t ipt-t-dft g-addrs ipt-t-dft-active" id='divComposeTo'onkeydown="changeText(this,event);" onblur="changeText(this,event,1);" title=发给多人时地址请以英文分号隔开  ></div></td>
        </tr>
        </table></body>
    </html>
      

  3.   

    http://topic.csdn.net/u/20100406/23/bde8a025-09ec-4de9-9d8d-a9e5b2ece10d.html
      

  4.   

    24 楼的代码和163 电子邮箱的代码要求效果是完全相同的。
    ===================
    ps:
    csdn   不仅测试技术,还有心里抗压能力,还有持久力,sandy945 ,koukoujiayi   ,当你技术不是绝对牛人,比如cpp2017 时,被无中生有是很平常的事。good  luck
      

  5.   

    to:24楼
    一个正常人的思维,应该知道问题并不是写的出写不这段代码!
    在这个坛子里能写诸如此类代码大概多如牛毛吧!没什么好牛B的,
    以这种方式的回复恰好说明了一个人的心理不健康,问题的关键是你指责一个回复是个"不懂装懂的错误回复"?
    而被指责的想知道究竟是哪里错了的问题哦!
    就算回复错了那又怎样了?可能理解错了;没看清题目;水平不到家等等吧!还有被你垢病的分数不在乎的问题,
    最近一个贴子不知道能说明问题吗?(最后第三条)
    http://topic.csdn.net/u/20100514/17/e5d70518-d7e2-4889-b209-00e5920d6cea.html
      

  6.   

    csdn 不仅测试技术,还有心里抗压能力,还有持久力,sandy945 ,koukoujiayi ,当你技术不是绝对牛人,比如cpp2017 时,被无中生有是很平常的事。good luck
    [/Quote]
    我表现的很牛B??
    决无这种可能!我没牛的资本,就是有也绝不会居高临下的指责他人,
    所以你的回复中应该把koukoujiayi去掉那就正确了!!
      

  7.   


    以上是在koukoujiayi发本贴前的事,应该是看了以上言论发的帖子吧。---------------------------------------------------------- 
    就算提问者问题描述不清楚,不是还有附图么? 你看附图难道不能了解提问者的问题么?退一步说就算没有附图的说明,提问题者在发帖后发现问题有偏差 从而更正问题也是正常的吧? 而你对分看的还很淡,那有必要让提问者重新发帖问么?重新发帖问意味着什么大家都明白。所以我觉得莫名奇妙。在退一步说,提问者同意你的要求(重新发帖),你是不是应该 给出正确答案“知之为知之,不知为不知” 希望你不要为了你看的很淡的分,给出错误的回复。
    --------------------------------------------------------------------
      

  8.   


    我本不想再在这个问题上发表任何言论,csdn是技术论坛不是断官司的地方,应该有的是技术的探讨而不是做这种无聊的争论。而我在24楼的回复,是冲着你的标题才回复的。阿非说这是错误的,请有大家看看或测试一下,到底错在哪儿?谢了!也请阿非指正!但在我回复前,你的言论你说这番话时的心态你自己清楚。鉴于你很低调的请教(标题),我就给出了我的答案#24,而我也不想再在此问题做任何纠缠,除了代码我没发表任何言论,#25的链接是想说明 我只是用代码来证明我之前的猜测。但我过于天真了,我以为这件事可以就这样告一段落了,但你在#31的回复令我没有想到。我很难想象该回复和标题是出自同一人。#24的回复让你恼羞成怒了?
    #31的回复让我无法再忍让了,在回应之前,我先把事情的来龙去脉讲清楚,鉴于有人看帖不看相关链接,我把相关链接中的回复做了切图,为了保证真实性,链接依然保留。相关链接
    http://topic.csdn.net/u/20100405/20/3369CB40-6811-4C0A-86CE-773C9B389B81.html
    http://topic.csdn.net/u/20100405/19/3941C35E-E24F-414E-BE5F-AD7CE5583D72.html
    http://topic.csdn.net/u/20100406/23/140e9259-6cde-40b9-9a9b-f8ec536c9858.html
    http://topic.csdn.net/u/20100406/23/bde8a025-09ec-4de9-9d8d-a9e5b2ece10d.html然后对#31的回复做出回应"一个正常人的思维,应该知道问题并不是写的出写不这段代码!"提问者想问163的功能如何实现,这个你知道么?别说你连分析能力都没有,看过以上链接可以很明确的知道提问者一直在问的是如何实现163的收件人功能。而我也一再重申163的功能不是文本框实现的,所以问题不是能不能写出代码,是要弄明白提问者要问什么。需求分析有问题,给出的解决方案能够实现某个功能,可其他功能实现不了从而返工。 这就是你的回复的结果。也是我说 (“知之为知之,不知为不知” 希望你不要为了你看的很淡的分,给出错误的回复。) 这句话的原因。 
    --------------------------------------------------------------------------------------------------------------------------------“在这个坛子里能写诸如此类代码大概多如牛毛吧!没什么好牛B的,
    以这种方式的回复恰好说明了一个人的心理不健康”论坛中能写的出此类代码的人不计其数,呈现的效果和代码的优雅比我有过之而无不及。我没觉得我牛,我那句话有类似的意思?你又是从何得出的结论?心理不健康,我真不知道是谁心理不健康。你难道只会无中生有?----------------------------------------------------------------------------------------------------------------------------------问题的关键是你指责一个回复是个"不懂装懂的错误回复"?
    而被指责的想知道究竟是哪里错了的问题哦!
    就算回复错了那又怎样了?可能理解错了;没看清题目;水平不到家等等吧!代码都摆你面前了,你都不知道那错了,那就没办法了。理解错了,水平不到都没关系,问题是为何回复一下言论呢
    -----------------------------------------------------------------------------------------------------------------------------------还有被你垢病的分数不在乎的问题,你对分数在不在乎,你自己心里清楚,我不做评判。
    最后,你一直在强调自己很委屈,多处都有针对我的言论, 那我不禁要问 ,除了“林子大了什么鸟都有” 这句针对你的言论 ,我可还有针对你的言论?按照你的思维,我有一句针对你的言论,你就要十句百句的奉还给我?
      

  9.   

    1.就我俩的事,这样的争论的确有违CSDN的技术论坛"技术"这两个字!就这点同意你的观点,
    不过首先说和主贴无关的跟贴不是我哦!呵呵!2.我被你指责为"不懂装懂的错误回复"经过一些网友的测试(包括发贴人)基本正确是明摆的!
    (其中一个测试不正确,我问了一下是浏览器的兼容问题),短时间的回复考虑不周在所难免,
    我想求证的是我这个回贴是否是一个"不懂装懂的错误回复",
    至于完善代码,或用另外的思路达到同样的功能,如果工作中需要我是会去研究的!
    所以说你#24楼回复是文不对题的,而引起了我的一些猜测.
    至于163是怎样实现的我不知道,你也只不过是猜测,就算你猜对了,难道就不能给发贴者的另外的建议,
    通过另外的途径达到同样的功能不行吗?这也太霸道了吧!3.应该说我实在没兴趣这着种事情争论,但TMD还在争论....!
    版主大概的算公众人物吧,你发的申请版主贴子中我的跟贴难道只能唱赞歌吗?难道我说的是无中生有??4.根据网友对我的的建议,公开的淡定吧!
    把贴子结了,私下可以不淡定!
      

  10.   

    刚才常用的id登陆不上,不知是什么原因,用马甲发了,现在有好了再发一遍!
    ==========================================================
    1.就我俩的事,这样的争论的确有违CSDN的技术论坛"技术"这两个字!就这点同意你的观点,
    不过首先说和主贴无关的跟贴不是我哦!呵呵!2.我被你指责为"不懂装懂的错误回复"经过一些网友的测试(包括发贴人)基本正确是明摆的!
    (其中一个测试不正确,我问了一下是浏览器的兼容问题),短时间的回复考虑不周在所难免,
    我想求证的是我这个回贴是否是一个"不懂装懂的错误回复",
    至于完善代码,或用另外的思路达到同样的功能,如果工作中需要我是会去研究的!
    所以说你#24楼回复是文不对题的,而引起了我的一些猜测.
    至于163是怎样实现的我不知道,你也只不过是猜测,就算你猜对了,难道就不能给发贴者的另外的建议,
    通过另外的途径达到同样的功能不行吗?这也太霸道了吧!3.应该说我实在没兴趣这着种事情争论,但TMD还在争论....!
    版主大概的算公众人物吧,你发的申请版主贴子中我的跟贴难道只能唱赞歌吗?难道我说的是无中生有??4.根据网友对我的的建议,公开的淡定吧!
    把贴子结了,私下可以不淡定!
      

  11.   


    口口加一委屈,不哭,哦哦~~PS:我要保持daydayup2010技术分为0,等你结完贴再回贴。