Newsgroup: it.comp.lang.javascript
Titolo: CountDown

Non riesco a trovare uno script Java in grado di eseguire un CountDown sui
caratteri inseriti nella TextArea di una form, interrompendo l'immissione
arrivati a 0 (zero).
Ho provato a fare dei copia ed incolla da pagine web con simili script (ad
esempio per l'invio degli SMS), ma senza successo (sicuramente omettevo
qualcosa).
Qualcuno può aiutarmi ???
Grazie
Danny,

arrivati a 0 (zero).
dunque, io uso una cosa del genere, ma premetto che non funziona su
ns4*, o meglio, non funziona "in tempo reale".  mentre digiti il
contenuto della casella che riporta il numero dei caratteri digitati
non viene aggiornato, mentre viene aggiornato se magari sposti il
focus su un altro controllo.  su ie, mozilla e opera invece funziona
tutto bene, a parte qualche problema con backspace.
per risolvere il problema con ns aggiungo un button con la label
"controlla numero caratteri" o qualcosa del genere che attiva la
funzione ConteggioCaratteri.
ControlloTest è il nome dell'input text o della textarea di cui
controllare il numero di caratteri, ControlloRisultato è il nome
dell'input text nel quale vado a scrivere il numero dei caratteri
digitati, MaxCaratteri è, ovviamente, il numero massimo di caratteri
consentiti per l'input o textarea ControlloTest.
function ConteggioCaratteri(ControlloTest, ControlloRisultato,
MaxCaratteri) {
 
   var QuantiCaratteri
 
   QuantiCaratteri = ControlloTest.value.length;
 
   ControlloRisultato.value = QuantiCaratteri;
 
   if (QuantiCaratteri > MaxCaratteri) {
   alert("Attenzione, hai inserito " + QuantiCaratteri + "
caratteri,\n il numero massimo consentito è " + MaxCaratteri + ", \n
il testo in eccedenza verrà ignorato!"); 
   }
 
}
 
questo è il codice per il textarea di cui controllare il numero di
caratteri digitati, setto un limte max di 150 caratteri (fai
attenzione ai nomi dei controlli):
<textarea wrap cols = 40 rows = 4 
               name = NoteFatturazione 
	onKeydown = "ConteggioCaratteri(this.form.NoteFatturazione,
this.form.LunghezzaNoteFatturazione, 150)"
	onChange  = "ConteggioCaratteri(this.form.NoteFatturazione,
this.form.LunghezzaNoteFatturazione)"></textarea>
il codice del button, che serve solo per ns, è qualcosa del genere:
<input    type = button 
         class = Piccolissimo
         value = "Conta caratteri" 
       onClick = "ConteggioCaratteri(this.form.NoteFatturazione,
this.form.LunghezzaNoteFatturazione, 150)">
infine, questo è il codice per la casellina che riporta il numero di
caratteri digitati:
<input type = text 
          readonly 
          size = 3 
          name = LunghezzaNoteFatturazione>

 Qualcuno puņ aiutarmi ???
Forse questo script: 
http://www.jsdir.com/staffscripts/script061.asp
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 ma premetto che non funziona su ns4*
A me funziona anche con NS4. O meglio, non funziona bene se tieni premuto un
tasto e fai ricorso all'autorepeat.
Non capisco però un paio di cose:
    1 - perché ricorrere a due eventi quando ne basta uno?
    2 - non sarebbe meglio usare l'evento onKeyUp? In questo modo il
conteggio dei caratteri sarebbe corretto. Come è attualmente, invece, tutti
i browser segnalano sempre un carattere in meno.
Un'ultima cosa: se si superano i 150 caratteri vengono fuori una serie di
alert dai quali difficilmente si esce. Per superare questo problema forse è
meglio troncare il contenuto della textarea.
Maurizio.