PHP ajax, problème onKeyPress

Skarbone

Le méchant Ω
Salut a tous :)

Je créé en ce moment une application LAMP, et j'ai un petit soucis...



1) j'ai un champ dans lequel je doit rentre un IDCarte
2) j'ai un bouton "valider" qui provoque le chargement ajax d'une nouvelle page par la fonction validerPersonne() . Ca marche très bien.

J'aimerais permettre d'envoyer le champ en appuyant sur "enter" depuis le champ IDCarte. J'ai donc une fonction onKeyPress qui check le keycode, et qui le traite si c'est le bon (13). Ca marche également jusque la...

Dans le traitement, il faut donc naturellement appeler la fonction validerPersonne(), comme lors du clic sur le bouton. Sauf que CA, ca ne marche pas. A moins que je foute un alert() javascript après. La, ca marche. Sauf que ca n'a absolument AUCUN sens de devoir faire un alert pour que ca marche -_-
 

DaBeast

Elite
tu sais pas faire une click() de ton bouton valider quand tu captes une Carriage return ? J'avais le meme soucis, mais ctait plutot, prob entre firefox et ie, firefox gerait bien le enter, mais ie faisait un refresh au lieu de faire un validate....

un truc dans le style:

onkeydown="if (event.keyCode == 13) document.forms['nomduform'].submit();"
ou bien
[FONT=&quot]onkeydown="if ( event.keyCode == 13 ) document.getelementbyname("validatebutton").click()
onkeydown="if ( event.keyCode == 13 ) document.getElementById("validatebutton").click()


Sache que ci ta fonction validerPersonne() fait un check sur $_POST["submit"] ca ne passera pas. Il faut verifier que la bonne valeur soit setter, dans ce cas si, IdCarte .....
[/FONT]
 
1er
OP
Skarbone

Skarbone

Le méchant Ω
ca ne marche pas non plus :/

Ce qui est vraiment bizarre, c'est que provoquer un alert() après ma fonction fait marcher le code!

function toucheEnter(event){
if(event.keyCode == 13){
validerPersonne();
alert("sans cette alerte, la MAJ de la page ne marche pas... WTF?");
}
}

validerPersonne() fonctionne très bien, c'est la méthode appelée lors du clic sur le bouton. De cette manière si, ca marche, mais si j'enleve l'alert, ca plante... J'ai vraiment du mal a comprendre...
 
Haut