PHP ajax, problème onKeyPress

Discussion dans 'Web, design' créé par Skarbone, 8 Mars 2012.

  1. Online
    Skarbone I would rather be snowboarding
    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 -_-
    Skarbone, 8 Mars 2012
    #1
  2. Offline
    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]
    DaBeast, 8 Mars 2012
    #2
  3. Online
    Skarbone I would rather be snowboarding
    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...
    Skarbone, 8 Mars 2012
    #3