<textarea rows=10 cols=60 id=ta onkeydown="return ta_change();"></textarea>function ta_change() {
    var enter = ta.value.match(/\r\n/g);
    if (enter != null) {
        if (enter.length > 0) {
            if (event.keyCode == 13) {
                return false;
            }
        }
    }
}

解决方案 »

  1.   

    上面的朋友,用了你的,只能不让客户按ENTER键,但客户不按一直输入.,会自动多一行.所以还是控制不了.
      

  2.   

    上面的朋友,客户不按一直输入,一行满了它自动到下一行,也就是说不按"ENTER"键也可以多出一行.
      

  3.   

    你还是限制字数比较好点,textarea自动换行在不同分辨率里都不一样呵
      

  4.   

    try<textarea rows=10 cols=40 id=ta onkeydown="return ck()"></textarea><script language="javascript">
    <!--
    function ck(){
    o = document.getElementById("ta");
    var rect = o.createTextRange().getClientRects();
    var l = rect[rect.length-1].right - rect[rect.length-1].left;
    return  rect.length == 1 || (rect.length == 2 && l < o.clientWidth-2);
    }
    //-->
    </script>
      

  5.   

    有bug,改了一下<textarea rows=10 cols=40 id=ta onkeydown="return ck()"></textarea><script language="javascript">
    <!--
    function ck(){
    o = document.getElementById("ta");
    var rect = o.createTextRange().getClientRects();
    var l = rect[rect.length-1].right - rect[rect.length-1].left;
    if(rect.length == 2 && event.keyCode == 13) return false;
    return  rect.length == 1 || (rect.length == 2 && l < o.clientWidth-2);
    }
    //-->
    </script>
      

  6.   

    应该是return  rect.length == 1 || (rect.length == 2 && l < o.clientWidth-3);
    ^-^