Newsgroup: it.comp.lang.javascript
Titolo: text area limitata

Ciao a tutti
 com'è possibile limitare i caratteri di una textarea? mettiamo a 200?
Grazie
 Ciao

  Ciao
Ciao


Funziona funziona, e contiene una grandissima verità
Cla

 funziona, potevo riderci un pň almeno!
No, non lo era...
Comunque ecco la pappa č pronta :) ed č veramente buona! L'unico che a cui
non piace tantissimo č OP<=6.05! Cavoli di chi lo usa ;-)
<script>
function TextLimit(field,maxlimit)
{
 if (field.value.length>maxlimit){
  field.value=field.value.substring(0,maxlimit);
  field.blur();
 }
}
</script>
<form>
  <textarea name="note" rows="5" cols="30" maxlength="3"
onKeyDown="TextLimit(this,20)" onKeyUp="TextLimit(this,20)"></textarea>
</form>

 non piace tantissimo è OP<=6.05! Cavoli di chi lo usa ;-)
Mhm.. e se faccio un copy&paste tramite mouse?
 
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"when you eliminate the impossible, whatever remains, however 
improbable, must be the truth" (S.H.)

> Mhm.. e se faccio un copy&paste tramite mouse?
Sono cazzi amari :((
Ehh, si puo' aggiungere una voce sottostante, tipo="per gli utenti window
usare i tasti Ctrl+C e Ctrl+V per eventuali operazioni copy&paste"  :))

 usare i tasti Ctrl+C e Ctrl+V per eventuali operazioni copy&paste"  :))
Tanto vale allora a questo punto aggiungere "Solo i primi 200 caratteri 
della textarea verranno inviati" ;))))
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 Mhm.. e se faccio un copy&paste tramite mouse?
onblur ?
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

 onblur ?
Si puo' anche fare... ovviamente non risolve istantaneamente; infatti,
bisogna togliergli il focus (con "tab" o cliccando esternamente...) e allora
a quel punto l'utente probabilmente non se ne accorge nemmeno...
Quindi conviene realmente scrivere in piccolo da qualche parte che "verranno
inviati solo 200 car."
Comunque aggiungiamolo e in conclusione:
<script>
function TextLimit(field,maxlimit)
{
 if (field.value.length>maxlimit){
  field.value=field.value.substring(0,maxlimit);
  field.blur();
 }
}
</script>
<form>
  <textarea name="note" rows="5" cols="30" maxlength="3"
onKeyDown="TextLimit(this,200)" onKeyUp="TextLimit(this,200)"
onBlur="TextLimit(this,200)"></textarea>
</form>
<p><font size="2" face="Arial">(*) verranno inviati solo i primi 200
caratteri</font></p>

 onblur ?
:)
Ma giustamente si va a perdere un po' tutto il senso dello script. :)
Ti lascio al post di Gianni in merito, cmq per quanto riguarda IE c'e' 
una soluzione perfetta per limitare in tempo reale i caratteri di una 
textarea in qualsivoglia modo si vada a scrivere.
Su Mozilla non mi sono mai interessato alla cosa (eeh.. le intranet 
Microsoft-based..), ma e' probabile che vi sia un modo altrettanto 
"cool".. il tutto, ovviamente, in attesa dell'XForm che credo proprio 
risolva tali problemi.
Ovviamente, per NS4.x bisogna arrabattarsi come si puo', per non parlare 
poi di Opera..
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 textarea in qualsivoglia modo si vada a scrivere.
Mi sfugge, qual è?

, gianni20000
@
katamail.com
 says...

Non mi ricordo chi lo disse, credo sia una filosofia orientale o 
qualcosa del genere (anzi, se qualcuno di voi conosce la frase esatta me 
la riporti e gliene saro' grato ^_^ ), ma si dice che nell'insegnare si 
deve portare la persona a "nove", mai al "dieci". Perche' l'ultimo passo 
deve essere fatto in modo autonomo, in quanto vuol dire che ha acquisito 
e fatto suoi i precedenti "nove insegnamenti". Un certo tipo di 
conoscenze acquisiscono senso se "imparate" autonomamente, non tanto per 
la conoscenza acquisita in se', quanto per il "percorso" effettuato per 
acquisirla. :)


, gianni20000
@
katamail.com
 says...
Ti ricordo quanto detto da artemis (mi pare):
Visto che usi Outlook (brrr), scaricati il quotefix per risolvere i 
problemi di standardizzazione all'interno dei NG (tipo il R:) e qualche 
altro comportamento anomalo.


 acquisirla. :)
Quando te ne esci con questi distillati di saggezza ho le chiappe che
applaudono dall'emozione.

 </form>
attenzione:
The substring method returns a string containing the substring from start up
to, but not including, end.
meglio utilizzare substr, no?
Returns a substring beginning at a specified location and having a specified
length.
stringvar.substr(start [, length ])

 applaudono dall'emozione.
Speravo che almeno tu mi sapessi indicare la fonte, dall'alto della tua 
cultura :P
Cmq, dovresti essere il primo a capire cio' che intendevo dire.. o no?


 stringvar.substr(start [, length ])
...e il motivo e' semplice:
.substr e' implementato a partire da JS1.2
a differenza di .substring (JS1.0)
Se proprio vuoi mettici "+1"

 problemi di standardizzazione all'interno dei NG (tipo il R:)
Lo faro', sto stronzo di Outlook prima non me lo faceva; ha iniziato da
qualche giorno, chissa' quale opzione ho cambiato?!?

 Se proprio vuoi mettici "+1"
E il motivo per cui puoi benissimo usare il substr in questo caso invece 
che il substring e' ancora piu' semplice. L'event-handler onkeyup e 
onkeydown sono stati implementati da JS1.2 in poi :)
Quindi e' un po' inutile mettersi a non usare un metodo rispetto ad un 
altro perche' quest'ultimo e' supportato da piu' tempo, quando il resto 
dello script necessita cmq di una versione un po' piu' recente di JS. ;)
Se vuoi rimanere in ambito JS1.0, utilizza l'onBlur invece del 
onkeyup/onkeydown, cosi' come hai fatto per la questione del mouse 
(credo tu possa lasciare anche gli altri due event-handler, suppongo che 
i vecchi Netscape li ignoreranno semplicemente).


 i vecchi Netscape li ignoreranno semplicemente).
Quindi questo e' il motivo per cui bisogna lasciare "substring"; infatti,
l'event-handler "onBlur" esiste da sempre... e quindi lo script fa qualcosa
anche con un browser preistorico :)

 anche con un browser preistorico :)
Il che, non ha senso.
Perche' cio' che conta e' l'accessibilita' dei contenuti, non tanto 
queste "frocerie", come dice un mio collega, che altro non fanno che 
"incatenarci" alla gabbia della "retro-compatibilita' preistorica", e 
non danno modo al web di evolversi.


 E' stato aggiunto dopo, ma per tutt'altro motivo ;)
WOW, fai paura, sei super attento, e' impossibile fartela :((
;-)

tra l'altro il substring funge male in netscape 4.79

 tra l'altro il substring funge male in netscape 4.79
? In che senso?
Non l'ho mai notato, ma e' anche vero che e' da molto che non scrivo 
piu' specificatamente per NS4.x.
Mi sai portare qualche esempio nel quale il substring riporta anomalie?


 Mi sai portare qualche esempio nel quale il substring riporta anomalie?
avevo giusto fatto una funzione simile.. in NS4.7x in pratica riportava le
scritte al contrario.
tu scrivevi "ciao" e quando mollavi il tasto appariva "oaic"
boh....