Re: css a textarea

From: h! y n e k . l i p a (hynek.lipa@worldonline.cz)
Date: 03. 06. 2003, 20:56 CEST


Simon wrote:
> Textove pole je po prihlaseni editovatelne. A ja by se chtel
> dovedet, a naucit jak docilim toho, aby se pri editaci textu dal
> napsat pouze urcity pocet znaku, aby mi to pak nerozhodilo celou
> stranku.
---------------------------------
jeje, konecne nekdo nechce napsat jak to ma byt, ale chce se neco
naucit. fajn, jdeme na to:

jednak si musis definovat promenou, ktera urcuje kolik znaku muze byt
max napsano, rikejme ji maxznaku
[ var maxznaku=200; // pro 200 znaku ]
pak uz byt cela fce:
[ function pocitej(form) { ]
 prvni musime zajistit objekt, z ktereho budeme cist, rikejme mu text
[ text = form.nazevobjektu.value; ]
 z neho zjistime kolik obsahuje znaku a nazveme ho textznaku
[ textznaku = text.length; ].
kdyz tohle vsechno vime, tak nam staci jednoducha podminka pro
porovnani obsahu uz napsaneho textu a celkoveho povoleneho mnozstvi
textu
[ if (textznaku > maxznaku) { ]
 a s tim se musi neco provest, takze jednak o tom dame vedet uzivateli
[ alert("text je príliš dlouhý!!"); ]
 to by sice mohlo stacit, ale lide jsou divni a klidne
by chtely zkouset, co to jeste snese, takze mu to zakazeme
[form.nazevobjektu.value=text.substring(0,maxznaku); ]
 resp. smazeme vsechny znaky presahujici na zacatku zadane maximum.
ted staci jen fci ukoncit
[ }} ]
 a scriptik je na svete.

jeste je potreba zavesit nejake, pokud mozno vsechny :))) , akce na tu
textareu, takze v rychlosti:
<form>
<textarea cols="50" rows="10" name="nazevobjektu"
    onchange="pocitej(this.form)"
    onkeyup="pocitej(this.form)"
    onblur="pocitej(this.form)"
    onfocus="pocitej(this.form)"
    onmousemove="pocitej(this.form)">
</textarea>
</form>

btw. jednoduchou upravou je mozno dodat i pocitadlo napsanych znaku
(vsichni znate z sms-gate):
v html to bude:
<input type="text" name="control" value="?" size="3"
readonly="readonly">

a ve scriptu se upravi radek, kde se ukoncuje funkce [}}], vlozi se
tam
vzorec, ktery bude odecitat povoleny od skutecneho poctu znaku.
vypadat to bude asi takhle:
[  }
 else {form.control.value = maxznaku - textznaku;}
} ]


enjoy :o)

pozn. pro ty mene vnimave, cela fce je napsana v hranatych zavorkach
;)

- h! -
http://www.hyneklipa.cz/



This archive was generated by hypermail 2.1.3 : 03. 06. 2003, 20:58 CEST