За последние 24 часа нас посетили 16802 программиста и 1646 роботов. Сейчас ищут 897 программистов ...

изменение размера textarea

Тема в разделе "JavaScript и AJAX", создана пользователем Vovan222, 10 сен 2010.

  1. Vovan222

    Vovan222 Активный пользователь

    С нами с:
    10 сен 2010
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте есть такой код, который позволяет динамически изменять высоту textarea:
    [JS]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <title>изменение размера textarea</title>
    <style type="text/css">
    body {
    background-color:#004B52;
    }
    textarea{
    background-color: #FF0000;
    color:yellow;
    resize:none;
    height:auto;
    }
    </style>
    <script language="JavaScript" type="text/javascript">
    function flexibleTextarea(b) {
    var a = document.getElementById(b) || b;
    if (a) {
    a.style.overflow = "hidden";
    var e = a.rows = a.rows > 0 ? a.rows : 2;
    b = a.cols = a.cols > 0 ? a.cols : 20;
    var g = RegExp("([^\r\n]{" + b + "})([^\r\n])"),
    f = RegExp("[^\n]{" + b + "}\n?$|[^\n]{0," + b + "}\n");
    a.onkeydown = function () {
    a.value = a.value.replace(g, "$1\r\n$2");
    for (var c = 0, d = a.value; d.search(f) >= 0;) {
    c++;
    d = d.replace(f, "")
    }
    c++;
    if (c < e) c = e;
    a.rows = c
    }
    }
    };
    window.onload = function(){
    flexibleTextarea('textarea');
    }
    </script>
    </head>
    <body>
    <textarea id='textarea' rows="3" cols="50" ></textarea>
    </body>
    </html>[/JS]
    однако в IE и Opera наблюдаю. следующий баг, При печати текста, textarea расширяется на одну строчку по вертикали даже тогда когда в последней строчке еще есть место примерно для 10 символов

    [​IMG]

    Подскажите пожалуйста как исправить эту проблему[/js]