Autor Zpráva
soucekgns
Profil
Dobrý den,
potřeboval bych optimální řešení na automatickou výšku textarey podle délky textu.
Používám toto, ale vždy po po vytvoření řádku stránka skočí nahoru, lze to upravit, nebo lze to udělat úplně jinak?

<form name="for_textarea"><textarea name="koment_text"></textarea></form>
<script>
function autoHeight(selected_txt) {
  selected_txt.onkeyup = selected_txt.onkeydown = selected_txt.onkeypress = selected_txt.onchange = function() {
    this.style.height = 0;
    this.style.height = this.scrollHeight + 4 + "px";
  };
  selected_txt.onchange();
}
autoHeight(document.for_textarea.koment_text);     
</script>


PS: Na google i na jakpsatweb jsem se díval, ale žádná možnost, kterou jsem našel nebyla optimální.
Děkuji za odpovědi
joe
Profil
soucekgns:
Na google i na jakpsatweb jsem se díval, ale žádná možnost, kterou jsem našel nebyla optimální.
Myslím, že kdybys hledal pořádně, najdeš víc "optimálních" řešení, než je tohle, které asi moc fungovat nebude.

Při každém stisku klávesy zkopíruj obsah textarey do divu, který má stejnou šířku jako textarea, ten div bude skrytý, zjistíš tím tak jeho výsku (clientHeight), kterou pak zpátky nastavíš pro textarea. Nic složitého a přitom to funguje celkem dobře.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0