Potreboval bych omezit v ramci formulare v tagu <textarea> pocet znaku, aby nekdo nemohl psat "donekonecna" (chci dosahnout stejneho cile jako pri maxlenght v ramci input=text). Pomuzete mi nekdo?
Dekuji za odpoved(i)
Bud pres JS nebo (doporucuji) kontrolou primo v PHP po odeslani formulare. Kombinace obojiho je idealni.
JS:
vzkaz = formular.form_vzkaz.value;
vzkaz_Focus = formular.form_vzkaz;
if (vzkaz.length > "200") {
alert("vzkaz smí obsahovat pouze 200 znaků!");
vzkaz_Focus.focus();
return false;
}
PHP:
$vzkaz = $_POST['vzkaz'];
if (strlen($vzkaz) < 200 )
{
session_register("validace_chyba");
$validace_chyba = "vzkaz smí obsahovat pouze 200 znaků!";
header("Location:$HTTP_REFERER"); // navrat na volaci stranku
}
else
{
... // dalsi zpracovani formulare
}
A co parametr maxlength? Ackoliv je funkcni jen v jednom nejmenovanem MS prohlizeci...
maxlenght mi funguje i v mozille. ja myslel, ze to je standartni parametr?
Vida, i v Mozille...
Ne, maxleght neni standardni, viz http://www.w3.org/TR/html401/interact/forms.html#edef-TEXTAREA
to nevadí,hlavně že funguje :o)
<HTML>maxlength nefunguje nikde pro trextareu, cili jste mu priliz nepomohli</HTML>
a co pomoci JS pocitat pocet zadanych znaku a po dosazeni urcite hranice vyhodit alert?
+ nejlepe jeste doplnit nejakym vizualnim pocitadlem zbyvajicich znaku
broli: pekny napad, ale vediet to tak spravit... :-)
uz to tu jednou psal .. jen si to trosku projdi .. delku textu mas ve vzkaz.length a zalezi uz na tobe jak to vypises .. jen nevim jestli by nebylo treba k textarea pridat atribut onchange="javascript:funkce_pocet_znaku()"
<HTML><i>a co pomoci JS pocitat pocet zadanych znaku a po dosazeni urcite hranice vyhodit alert?
</i>
omg to je velmi userfriendly, tohle dela i atribut maxlength?
Kdyby to takhle hlasil mobil pri psani sms hodil bych jej z okna :)
doporucil bych klasicky pres JS kontrolovat pocet a nepovolit pouze dalsi pridavani,hlavne zadne hlasky typu alert.... dale urcite kontrolovat phpckem jak psal lynx</HTML>
ja nic, ja muzikant .. to broli :-)
sojkovec,milster: mně teda taky maxlenght nefunguje ani v IE ani v M... :o) Vám jo?
U textarey nejspis nejde..
BTW pozor: maxlength, nikoliv maxlenght
Zkus tohle, je to docela efektní a pro pisatele do textarea jasné:
<FORM name="form" action="" method="post">
<TEXTAREA onmousemove=countit() onblur=countit() onkeyup=countit() onfocus=countit() name=text rows=5 cols=40 onchange=countit()>
</TEXTAREA>
<p>Zbývá
<INPUT size=5 value=1000 name=count>
znaků</p>
<p><INPUT type=submit value=Odeslat>
</p>
<SCRIPT>
<!--
var slen = 1000;
function countit()
{
str= form.text.value;
strlength= str.length;
document.form.count.value = slen - strlength;
if(slen-strlength < 0) document.form.count.value = '!';
}
//-->
</SCRIPT>
</FORM>
onmousemove=countit() onblur=countit() onkeyup=countit() onfocus=countit()
nebylo by lepsi pouzit jednu udalost onchange? :)
<HTML>function countit()
{
if (form.text.value >= 100)
form.text.value = "lol";
}</HTML>