HighDots Forums  

uscita da un campo e richiesta asincrona

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss uscita da un campo e richiesta asincrona in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jimbo
 
Posts: n/a

Default uscita da un campo e richiesta asincrona - 11-10-2006 , 03:15 AM






salve a tutti.
ho un problemino con una form che invia i dati in maniera asincrona
all'uscita da ogni singolo campo e lato server eseguo una sorta di
validazione o comunque delle operazioni sul dato mentre l'utente
continua a riempire la form.
il problema è nel tipo di evento usato, mi spiego: supponendo di avere
due campi in "cascata" e l'invio sull'evento onBlur e supponendo che il
primo apra un alert() e il secondo invece evidenzi l'errore scrivendolo
accanto al campo se esco dal primo usando il tab e il campo non è
valido si apre l'alert che toglie il fuoco al secondo campo che fa
partire la validazione senza un tubero scritto dentro o cmq con un dato
parziale.
ho provato anche a metterlo sull'onChange ma se l'utente è proprio
"gnucco" e non cambia il valore anche dopo che è stato segnalato
l'errore la validazione ovviamente non riparte...
avete qualche suggerimento da darmi?


Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 03:22 AM






In data 10 Nov 2006 00:15:06 -0800, Jimbo ha scritto:

Quote:
ho un problemino con una form che invia i dati in maniera asincrona
leggendo quello che scrivi direi che il problema sta qua: invia in maniera
sincrona.

--
"e mai che mi sia venuto in mente
di essere più ubriaco di voi
di essere molto più ubriaco di voi"
F.D.A.


Reply With Quote
  #3  
Old   
Jimbo
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 03:29 AM




Cristiano Larghi ha scritto:

Quote:
In data 10 Nov 2006 00:15:06 -0800, Jimbo ha scritto:

ho un problemino con una form che invia i dati in maniera asincrona
leggendo quello che scrivi direi che il problema sta qua: invia in maniera
sincrona.

non fa una piega solo che perderei questa parte:

"eseguo una sorta di validazione o comunque delle operazioni sul dato
mentre l'utente
continua a riempire la form. "

l'utente sarebbe bloccato nell'attesa della risposta del server...



Reply With Quote
  #4  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 03:35 AM



In data 10 Nov 2006 00:29:08 -0800, Jimbo ha scritto:

Quote:
non fa una piega solo che perderei questa parte:
"eseguo una sorta di validazione o comunque delle operazioni sul dato
mentre l'utente
continua a riempire la form. "
l'utente sarebbe bloccato nell'attesa della risposta del server...
Cioè? non vuoi bloccare l'utente ma ... quindi cosa deve succedere
esattamente? se l'utente digita mentre è in corso l'operazione?

Mi sembra tu voglia una cosa e anche il suo contrario...

--
"La realtà è un'illusione causata dall'assenza di alcool."
A.


Reply With Quote
  #5  
Old   
Jimbo
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 03:50 AM




Cristiano Larghi ha scritto:
Quote:
Cioè? non vuoi bloccare l'utente ma ... quindi cosa deve succedere
esattamente? se l'utente digita mentre è in corso l'operazione?

Mi sembra tu voglia una cosa e anche il suo contrario...
perchè una cosa e anche il suo contrario?
ho due campi distinti e lato server eseguo su questi due campi delle
operazioni distinte (può essere anche la stessa operazione ma comunque
le due chiamate sono indipendenti) e voglio poter continuare a riempire
un campo dopo che un altro ha fatto la sua richiesta al server ed
eventualmente che questo secondo campo invii la sua richiesta anche se
la risposta dal primo non è arrivata quindi mi sembra che la chiamata
da fare sia asincrona.
questo è che vorrei... il problema si pone nella gestione degli
eventi... con l'onBlur se il primo campo come risposta ha un alert()
sottrae il focus al secondo che fa partire la richiesta non voluta
perchè magari non ho ancora scritto niente in quel campo (anche
perchè al momento lavoro in locale e l'application server non esegue
nessuna elaborazione si limita a sparare l'xml di risposta).
questo problema ovviemnte non si pone se invece dell'alert() segnalo
solo la risposta vicino al campo in questione ma voelvo un po' più di
libertà... ;-)
grazie



Reply With Quote
  #6  
Old   
ZER0
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 03:51 AM



On 10 Nov 2006 00:15:06 -0800, Jimbo wrote:

Quote:
salve a tutti.
ho un problemino con una form che invia i dati in maniera asincrona
Non l'hai specificato, ma suppongo tu invii i dati tramite XmlHttpRequest,
corretto?

Quote:
il problema è nel tipo di evento usato, mi spiego: supponendo di avere
due campi in "cascata" e l'invio sull'evento onBlur e supponendo che il
primo apra un alert() e il secondo invece evidenzi l'errore scrivendolo
accanto al campo se esco dal primo usando il tab e il campo non è
valido si apre l'alert che toglie il fuoco al secondo campo che fa
partire la validazione senza un tubero scritto dentro o cmq con un dato
parziale.
Uno dei motivi per il quale ho smesso di usare gli alert in questi
frangenti. Sono modali, e spesso in realtà non se ne ha bisogno, e causano
problemi agli eventi legati al focus.

Quote:
ho provato anche a metterlo sull'onChange ma se l'utente è proprio
"gnucco" e non cambia il valore anche dopo che è stato segnalato
l'errore la validazione ovviamente non riparte...
Scusa eh, ma se lo metti sull'onchange, e viene segnalato errore la prima
volta; anche se l'utente è "gnucco" e non cambia il valore quel campo è
"marcato" come errato, in quanto la validazione non è ripartita e quindi
permane lo stato precedente. Dove sta il problema, quindi?

Quote:
avete qualche suggerimento da darmi?
Da parte mia eliminerei l'alert.

--
~ Confondi il mondo, sorridi tutti i lunedì!



Reply With Quote
  #7  
Old   
Jimbo
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 04:00 AM




ZER0 ha scritto:

Quote:
Non l'hai specificato, ma suppongo tu invii i dati tramite XmlHttpRequest,
corretto?
si scusa non l'ho specificato cmq utilizzo XmlHttpRequest.

Quote:
Uno dei motivi per il quale ho smesso di usare gli alert in questi
frangenti. Sono modali, e spesso in realtà non se ne ha bisogno, e causano
problemi agli eventi legati al focus.

infatti il problema è che dovrei scrivere una sorta di "libreriucola"
che non verrebbe usata solo da me e la parte di segnalazione
dell'errore non sarebbe gestita da me... io mi preoccupo solo della
richiesta al server e di fornire una risposta digeribile a chi la
riceve poi come segnalano l'errore non lo decido io e se qualcuno vuole
sparare un alert incappa in questo problema era per questo che volevo
trovare una strategia per poterlo usare senza problemi...

Quote:
Scusa eh, ma se lo metti sull'onchange, e viene segnalato errore la prima
volta; anche se l'utente è "gnucco" e non cambia il valore quel campo è
"marcato" come errato, in quanto la validazione non è ripartita e quindi
permane lo stato precedente. Dove sta il problema, quindi?
si anche questo è vero...

Quote:
Da parte mia eliminerei l'alert.
ok grazie.
stavo dando un'occhiata alla gestione dell'oggetto Event che non
conosco minimamente. avete idea se mi può essere utile?
grazie



Reply With Quote
  #8  
Old   
ZER0
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 05:27 AM



On 10 Nov 2006 01:00:40 -0800, Jimbo wrote:

Quote:
Uno dei motivi per il quale ho smesso di usare gli alert in questi
frangenti. Sono modali, e spesso in realtà non se ne ha bisogno, e causano
problemi agli eventi legati al focus.

infatti il problema è che dovrei scrivere una sorta di "libreriucola"
che non verrebbe usata solo da me e la parte di segnalazione
dell'errore non sarebbe gestita da me... io mi preoccupo solo della
richiesta al server e di fornire una risposta digeribile a chi la
riceve poi come segnalano l'errore non lo decido io e se qualcuno vuole
sparare un alert incappa in questo problema
Che non è un "problema". Mi spiego. L'alert è una finestra di avviso MODALE.
Questo significa che, quando invocata, si prende il focus. Il che significa
che lo toglie all'elemento che ce l'aveva precedentemente. Il che significa
che fa scattare eventuali eventi legati al blur di tale elemento.

In sostanza, il tuo codice fa esattamente ciò che gli stai dicendo di fare.

Quote:
era per questo che volevo
trovare una strategia per poterlo usare senza problemi...
Lo puoi usare senza problemi, ma ovviamente sta al programmatore scrivere
del codice che non si contraddica, come invece succede nel caso sopracitato.

Non hai idea di quanti codici ho visto che in talune condizioni, con almeno
due campi che avevano l'onblur e un alert nel codice, rischiava un "ping
pong" infinito.

Ci possono essere dei workaround per evitare questi comportamenti, ma sono
tutti "accroccri". Personalmente ho praticamente estirpato tutti gli alert
del genere dalle mie applicazioni. Sono solo notifiche, non devono bloccare
l'attività dell'utente per costringerlo a premere un "OK". Devono solo
avvisarlo del problema, possibilmente indicare visivamente dove sta il
problema (cosa che l'alert NON fa). Tanto, fintanto che il campo non è
"corretto", non è possibile proseguire nel submit dei dati.

Quote:
Scusa eh, ma se lo metti sull'onchange, e viene segnalato errore la prima
volta; anche se l'utente è "gnucco" e non cambia il valore quel campo è
"marcato" come errato, in quanto la validazione non è ripartita e quindi
permane lo stato precedente. Dove sta il problema, quindi?

si anche questo è vero...
Appunto. Ti consiglio di cambiare approccio. Fornisci allo sviluppatore
finale uno strumento più indicato dell'alert per notifiche di questo genere.

Quote:
Da parte mia eliminerei l'alert.

ok grazie.
stavo dando un'occhiata alla gestione dell'oggetto Event che non
conosco minimamente. avete idea se mi può essere utile?
Non ti è utile, ma fondamentale. Difficilmente però ti potrà aiutare in
questo caso, soprattutto a livello crossbrowser, a meno che non si vada a
fare gli accroccri di cui sopra. Ma essendo una libreria, non puoi
permetterti cose del genere, perché perderesti di generalizzazione.

--
~ Il tempo è quello che fai di lui.



Reply With Quote
  #9  
Old   
Jimbo
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 06:40 AM



ok capito!
grazie mille!

sono abbastanza novizio di javascript e più lo uso meno mi piace! ;-)
è troppo "libero" per me.. preferisco strutture più rigide! ;-)


Reply With Quote
  #10  
Old   
ZER0
 
Posts: n/a

Default Re: uscita da un campo e richiesta asincrona - 11-10-2006 , 07:00 AM



On 10 Nov 2006 03:40:02 -0800, Jimbo wrote:

Quote:
ok capito!
grazie mille!
Non c'è di che.

Quote:
sono abbastanza novizio di javascript e più lo uso meno mi piace! ;-)
L'impatto è un po' duro spesso, soprattutto da chi viene dalla
programmazione canonica; per una serie di fattori (che ho elencato spesso e
volentieri in questo NG e quindi stavolta passo la mano).

Il punto fondamentale è non confondere javascript con tutto quello che ci
puoi fare. Ad esempio, il problema di cui abbiamo parlato poc'anzi non fa
parte di Javascript, bensì del DOM del browser.

--
~ "Ciò che il cuore conosce oggi, la testa comprenderà domani" (Seneca)



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.