<textarea rows="1" name="S1" cols="27" onscroll="this.rows++;"></textarea>

解决方案 »

  1.   

    高手啊!代码这么简洁!我喜欢!行数减少的时候rows自动变小呢?也能写的这么简洁吗?
      

  2.   

    try<textarea rows="1" name="S1" cols="27" onpropertychange="this.style.posHeight = this.scrollHeight"></textarea>
      

  3.   

    if you hate the scroll bar, try<textarea rows="1" name="S1" cols="27" onpropertychange="this.style.posHeight = this.scrollHeight+5"></textarea>
      

  4.   

    <textarea style="overflow-y:visible"></textarea>
      

  5.   

    我想哭啊,我学了好久的javascript了,竟然一点办法都想不出来,这里的高手真了不得!
      

  6.   

    (2002-04-27 14:48:01)   迷失网络
    我看过了。
    但是如果textarea的style.height是定义了的话,
    那么cols不可用。
    而且也试过啊。
    overflow在5。0下面没有作用。
      

  7.   

    可以参看目前的论坛 2.xsl
      

  8.   

    所以建议用expression的特殊用法.
      

  9.   

    :)
    动态属性的确有特别的使用场合。
    但却是一个不建议使用的模式。
    因为动态属性不是一次性执行完成的。
    那样会对客户端做很多无谓的运算开销。
    特别是CSDN的帖子,没有分页,经常要上50以上的。
    那么整个网页的性能都会降下来。
      

  10.   

    上面说错了,应该上rows不可用。
      

  11.   

    看看下面的效果:
    <script>
    window.status=1;
    </script>
    <style>
    div
    {
    width:400;height:400;background-color:#eeeeee;
    }
    </style>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
    <div style="haha:expression(window.status=parseInt(window.status)+1);"></div>
      

  12.   

    就一句话:
    <style>textarea.content{overflow-y:auto;height:expression(this.scrollHeight+20)}</style>看看下面的效果:
    <style>textarea.content{overflow-y:auto;height:expression(this.scrollHeight+20)}</style><textarea class=content>
    <script>function chkIP(ipstr){
    var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
    if(arr=ipstr.match(reg)){
    for(i=1;i<arr.length;i++)if(parseInt(arr[i])>255){alert(ipstr+"不是一个正确的IP");return;}
    alert(ipstr+"是一个正确的IP");
    }
    else {alert(ipstr+"不是一个正确的IP");}
    }chkIP("123.156.111.78");
    chkIP("993.156.111.78");
    </script>
    </textarea>
    <textarea class=content>
    <script>function chkIP(ipstr){
    var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
    if(arr=ipstr.match(reg)){
    for(i=1;i<arr.length;i++)if(parseInt(arr[i])>255){alert(ipstr+"不是一个正确的IP");return;}
    alert(ipstr+"是一个正确的IP");
    }
    else {alert(ipstr+"不是一个正确的IP");}
    }chkIP("123.156.111.78");
    chkIP("993.156.111.78");
    </script>
    </textarea>
    <textarea class=content>
    <script>function chkIP(ipstr){
    var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
    if(arr=ipstr.match(reg)){
    for(i=1;i<arr.length;i++)if(parseInt(arr[i])>255){alert(ipstr+"不是一个正确的IP");return;}
    alert(ipstr+"是一个正确的IP");
    }
    else {alert(ipstr+"不是一个正确的IP");}
    }chkIP("123.156.111.78");
    chkIP("993.156.111.78");
    </script>
    </textarea>
    <textarea class=content>
    <script>function chkIP(ipstr){
    var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
    if(arr=ipstr.match(reg)){
    for(i=1;i<arr.length;i++)if(parseInt(arr[i])>255){alert(ipstr+"不是一个正确的IP");return;}
    alert(ipstr+"是一个正确的IP");
    }
    else {alert(ipstr+"不是一个正确的IP");}
    }chkIP("123.156.111.78");
    chkIP("993.156.111.78");
    </script>
    </textarea><textarea class=content>
    <script>function chkIP(ipstr){
    var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
    if(arr=ipstr.match(reg)){
    for(i=1;i<arr.length;i++)if(parseInt(arr[i])>255){alert(ipstr+"不是一个正确的IP");return;}
    alert(ipstr+"是一个正确的IP");
    }
    else {alert(ipstr+"不是一个正确的IP");}
    }chkIP("123.156.111.78");
    chkIP("993.156.111.78");
    </script>
    </textarea>
      

  13.   

    这么早啊wasy
    数了一下,上面有37颗星星,天!
      

  14.   

    哈哈,还是 emu(ston) 说的是,前一段时间忙了,现在回来,才发现得到了不少星光,非常感谢!!
    我写的函数如下:
    function doChageSize(theItem){
    var blnResizeAdd=false;
    var blnResizeDec=false;
    if (theItem.scrollHeight!=theItem.clientHeight){
      if (theItem.scrollHeight<=theItem.clientHeight){
    blnResizeDec=true;
    blnResizeAdd=false;   }else{
    blnResizeAdd=true;
    blnResizeDec=false;
      }
    }
    if (blnResizeAdd) theItem.rows++;
    if (blnResizeDec && theItem.rows>2) theItem.rows--;
    }现在看来,真实罗嗦得紧,惭愧得紧呀
    我个人觉得 karma(无为) 的最精彩,大家没有意见吧?