caratteri che svaniscono nella input text

lally_fragola

Utente Attivo
26 Apr 2010
43
1
0
Ciao a tutti, ho un problema piuttosto strano. Dunque ho una form con una input text e un bottone( normale, non submit). Digitando un carattere nella input text e cliccando sul bottone parte una chiamata ajax ad una pagina php che si collega a un database e tira fuori una serie di nomi che iniziano con la lettera inserita nella input text. Fin qui tutto ok. Problema: voglio far partire tale ricerca anche con il tasto invio. A tale scopo ho tolto l'attributo "action" della form, se no l'azione predefinita dell'invio era andare a quell'indirizzo, poi ho aggiunto alla input text gli eventi onfocus e onblur, al primo setta la variabile HasFocus(definita da me) a true, nel secondo caso invece a false. Questo perchè voglio che la ricerca parta solo se il focus è nella casella. Poi ho inserito nella head della pagina lo script:
Codice:
$(document).bind("keydown", function(event){if(event.keyCode==13){ 
					verifica_focus(); }
la funzione verifica_focus() va a vedere il valore di HasFocus e, se è true, richiama ricerca_sintattica(), ovvero la stessa funzione richimata dal click del bottone. Ora io devo capire perchè, quando clicco invio, la funzione ricerca_sintattica parte correttamente al punto che la tabella risultante viene caricata....per sparire magicamente un secondo dopo, assieme al carattere della input text, senza che io tocchi nulla! Qualcuno può illuminarmi su questo comportamento assurdo????
Grazie
 
hai provato a stoppare l'evento dopo che la tua condizione si è verificata?
prova così:

$(document).bind("keydown", function(event){
if(event.keyCode==13){ event.stop(); verifica_focus();
}

Oppure prova ad osservare l'evento di submit sul form, quindi e stopparlo quando si verfica, tipo:
$('form_id').observe('submit', function(event){
event.stop(); verifica_focus();
})
 

Discussioni simili