Newsgroup: it.comp.lang.javascript
Titolo: Contare caratteri di una text...ma....?

Per contare i caratteri di un campo text di può intercettare l'evento 
onkeyup...tutto ok.
Quando faccio CTRL+V....ok..continua ad andare bene.
Ma........quando faccio incolla dal menu modifica, l'evento non viene 
ovviamente intercettato.
Ho provato anche a inserire l'evento onchange, ma niente.
E quindi....come si fa a controllare anche quando faccio incolla dal menu 
modifica?
rob4you
www.outofmind.eu
 

 modifica?
li controlli onblur
 
http://developer.mozilla.org/en/docs/DOM:window.onblur
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 
http://developer.mozilla.org/en/docs/DOM:window.onblur
NON funge (né con FF né IE)....lo avevo già provato prima....praticamente li 
ho inseriti tutti gli eventi (onkeyup/keydown/change/focus/blur), ma 
NOTHING.
rob4you

 NOTHING.
L'evento onblur si attiva nel momento in cui lasci il campo. Probabilmente
non l'hai fatto.
-- 
~ Ci siamo fatti una scopata cosi' eccezionale che anche i vicini hanno
fumato una sigaretta.

 non l'hai fatto.
Forse cerco l'impossibile..ma come dice il proverbio.IMPOSSIBLE IN NOTHING 
(ma lo dice il proverbio?) :-)
In pratica, ciò che vorrei ottenere, è una conta IMMEDIATA dei caratteri del 
campo text.
Se io faccio Incolla dal menu Edit, nell'immediato vedo il testo che viene 
incollato nel campo, ma NON vedo l'aggiornamento del numero di caratteri. 
Appunto, per aggiornare il valore dei caratteri inseriti, devo "blurrare" 
dal campo. :-)
In definitiva, è impossibile ciò che chiedo? Non si può ottenere il numero 
di caratteri immediatamente dopo aver incollato dal menu modifica? 
SIGH.....:-( che brutto mondo internet. :-))))
rob4you 

 campo text.
non esiste un evento diretto.
L'unica che mi viene in mente (brrrr) è un bel setTimeout che ogni 100
millisecondi conta e aggiorna il campo dove scrivi il numero dei files.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 campo text.
Era chiaro cosa volevi ottenere, ma ti è stato fornito l'approccio migliore
a parità di obiettivo da raggiungere e strumenti a disposizione.
Non c'è niente di crossbrowser per fare ciò che chiedi. Si devono utilizzare
approcci diversi che devono coprire un po' tutti i browser (almeno, quelli
comunemente usati) per arrivare a tale obiettivo. Non ti dico che è un bagno
di sangue... ma sicuramente il gioco non vale la candela.
Il tutto se stiamo parlando di sito web. Se stiamo parlando di applicazione
web di una intranet che utilizza un solo specifico browser, magari si può
verificare un approccio più specifico.
-- 
~ Ci sono tre modi di fare le cose.
Giuste, sbagliate e come dico io. (Robert De Niro in "Casinò")

 caratteri.
:-) Rabbrividiamo insieme....perché ci avevo pensato anche io! :-))))
magari concedo un po' piů fiato al browser..e anziché farlo sfiancare ^_^ 
ogni 100 ms....invoco la sua poderosa potenza solo ogni secondo. :-)
Perň a parte tutto non č poi una porcheria cosě grande....se magari il 
setInterval lo piazziamo solo quando il campo ha il fuoco...dovrebbero 
essere tutti felici e contenti! ;-)
rob4you
www.outofmind.eu
 

 di sangue... ma sicuramente il gioco non vale la candela.
E l'idea del setInterval? ......magari non elegante....però fa il suo 
dovere. Semplice, immediata, cross-browser, o no?
Anche perchè....francamente parlando......l'80% dei navigatori di internet 
non sa nemmeno cosa vuol dire CTRL+V, quindi se dovesse fare copia e incolla 
lo farebbe soltanto tramite il menu Edit. Di conseguenza, un avviso 
"immediato" non sarebbe male in questo caso, visto che in tutti gli altri 
casi c'è.
rob4you 

 di sangue... ma sicuramente il gioco non vale la candela.
Anche se son d'accordo con te che in tal caso il gioco no nvalga la 
candela....ma a tuo parere quale sarebbe una strada "generale" da seguire 
per ottenere l'effetto voluto?
Esempio con FFe IE? Ti ripeto, per linee generalissime, giusto per mia 
curiosità personale, perché non ho per niente idea di ciò a cui ti stai 
riferendo.
Grazie.
rob4you 

 "immediato" non sarebbe male in questo caso,
Perché un avviso immediato? Per cosa? Per bloccare e rompere le scatole
all'utente mentre digita, magari con un "alert" modale e rompiscatole?
Diamo dei paletti non invasivi all'utente, e se questo scrive castronate
glielo notificheremo appena molla il campo oppure tenta di submittare i
dati.
Ricordiamoci che tutto ciò che si fa client side sono facilities per
l'utente. I controlli veri sono fatti server side, non ci si può fidare di
quel che ricevi dal client.
E se l'utente vuole fregarsene di tali facilities, problemi suoi.. :)
-- 
~ Io non soffro di pazzia, ne godo ogni minuto.
(I don't suffer from insanity, I enjoy every minute of it)

 Grazie.
Prego.
-- 
~ "Se un uomo non è disposto a lottare per le sue idee,
o le sue idee non valgono nulla o non vale niente lui." (Ezra Pound)

 approcci ce ne possono essere diversi.
Grazie mille per le info.
rob4you