Autor Zpráva
Alice
Profil *
Ahoj.
Vytvářim si formulář odesílaný na mail a mám v něm pole textarea. Jde mu nastavit nějaký podobný parametr jako u input type maxlength="118"[b][/b] ? V konečné fázi bych chtěla, aby mi to tam ukazovalo i zbývající počet znaků, který pisatel může ještě napsat jako to je na stránce u pole Text: . Napište mi prosím někdo zdrojový kód...
Dík!
Anonymní
Profil *
Nevím, proč chceš pisatele omezovat počtem znaků, když píšeš, že se ti to bude posílat na e-mail.
Alice
Profil *
Protože to z e-mailu pude na mobil jako SMSka. :)
Alice
Profil *
Tak jsem to vyřešila... Funguje to, ale má to ještě pár mušek se kterýma si nevím rady. Prosím pomozte!!!
1) V liště prohlížeče, když se dá kurzor do pole pro text to ukazuje že se na stránce vyskytla chyba.
2)V souboru form.js je nějaká proměnná (alespoňsi myslím že to teda proměná je) smsCount které se chci zbavit, ptože se s ní v html stránce nepracuje a netuším jak..... Když jí smažu, tak nefunguje ani to počítání napsaných znaků.

Zdrojový kód html stránky vypadá takto.

<SCRIPT src="form.js" 

type=text/javascript></SCRIPT>
<FORM id=form1>

<TABLE>
<TBODY>

<TR>
<TEXTAREA class=iText id=smsText onblur=countit(118) onkeyup=countit(118) title="Sem napište text zprávy." onfocus=countit(118) onclick=countit(118) name=text rows=5 wrap=on cols=50 onchange=countit(118) maxlength="118"></TEXTAREA>

<P>
Již jste napsal(a)
<SPAN id=charsWritten></SPAN>
&nbsp;znaků. Ještě můžete napsat
<SPAN id=charsLeft></SPAN>
&nbsp;znaků.
</P>
</TD>
</TR>
</TBODY>
</TABLE>
</FORM>


A soubor form.js tak.

function countit(pocet) 

{
var str = document.forms["form1"].text;
if(str.value.length>pocet)
str.value = document.forms["form1"].text.value.substr(0,pocet);

document.getElementById("charsWritten").innerHTML = str.value.length;
document.getElementById("charsLeft").innerHTML = pocet - str.value.length;


o = getOperator(document.forms["form1"].cislo.value);
if(o==0)
d = 56;
else
if(o==1)
d = 160;
if(o!=-1)
document.getElementById("smsCount").innerHTML = Math.ceil(str.value.length/d);
}


Dík za pomoc.
Alice
Profil *
Už je to vše OK!

V souboru form.js stačilo odstranit tohle:


o = getOperator(document.forms["form1"].cislo.value);

if(o==0)
d = 56;
else
if(o==1)
d = 160;
if(o!=-1)
document.getElementById("smsCount").innerHTML = Math.ceil(str.value.length/d);


takže to má pak vypadat...

function countit(pocet) 

{
var str = document.forms["form1"].text;
if(str.value.length>pocet)
str.value = document.forms["form1"].text.value.substr(0,pocet);

document.getElementById("charsWritten").innerHTML = str.value.length;
document.getElementById("charsLeft").innerHTML = pocet - str.value.length;
}
Honza Hučín
Profil
Bezva, díky. Prosím, Alice, zamkni toto téma.
Alice
Profil *
jak??
Honza Hučín
Profil
Aha, ty vlastně nejsi registrovaný člen. Tak to asi nemůžeš. Udělám to tedy sám.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0