Où mettre un onkeypress dans un form ?

Résolu
clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   -  
ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Tout est dans le titre... J'ai créé une petite page de saisie de champs. Pour les écrire dans ma base, j'ai un bouton valider
<input type="submit" value="VALIDER" background-color: #FFFFCC"></form>
Et tout fonctionne normalement.... Et patatras, on me dit : moi je suis habituée à valider par la touche "enter"
Où et quelle forme doit prendre cette demande? qui doit doubler ma touche valider
merci pour votre exemple

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    Le PHP s'exécute côté serveur.....
    La gestion du clavier ou des clics se fait côté poste utilisateur...
    Tu ne peux donc pas le faire en PHP et va devoir t'orienter vers le JAVASCRIPT

    Un t'ruc du genre :
    document.onkeydown=function(){
        if(window.event.keyCode=='13'){
            submitForm();
        }
    }
    

    a placer entre les balises SCRIPT de ta page HTML

    <script type="text/javascript">
    //ici ton code
    </script>

    0
    1. clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   1
       
      si je comprends bien, je dois écrire
      document.onkeydown=function(){
          if(window.event.keyCode=='13'){
              submitForm();
          }
      }
      <bold><script type="text/javascript"></bold>
      <form method="POST" action="script.php">
      <table align="center" > 
      <tr><th colspan="2" align="center" border="2" >CREATION D'UN ENREGISTREMENT <?php echo "$livre"; ?></th></tr>
      <tr><td colspan="2" align="center">
      
         <input type="text"  name="genre" value= <?php echo "'$genre'"; ?> size="5" maxlength="5" readonly> 
         </td>
         </tr> 
         <tr>
         <td align="center"> 
         <input type="text" name="nom" Value="nom" size="40" maxlength="100" onfocus="value=''"> 
         </td>
         <td  align="center">
         <input type="text" name="prenom" value="Prénom" size="40" maxlength="100"onfocus="value=''"> 
         </td>
        </tr>
        <tr>
         <td colspan="2" align="center">
         <input type="text" name="titre" value="Titre du livre "size="50" maxlength="100" onfocus="value=''">
         </td>
        </tr>
        <tr>
        <td colspan="2" align="center"> 
        <input type="submit" value="VALIDER"  background-color: #FFFFCC"></form> 
      </script>
      


      Mais là, rien ne marche J'admets que je suis nullissime en javascript (deja que le ph c'est pas terrible ;o)))
      merci pour ta compréhension



      EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici :ICI

      Merci d'y penser dans tes prochains messages.
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833 > clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention  
         
        Non....
        Le code que je t'ai donné... c'est du JAVASCRIPT.
        Pour fonctionner... tu dois le placer dans les balises SCRIPT

        par exemple :
        <form method="POST" action="script.php" name="myform" id="myform">
        <table align="center" > 
        <tr><th colspan="2" align="center" border="2" >CREATION D'UN ENREGISTREMENT <?php echo "$livre"; ?></th></tr>
        <tr><td colspan="2" align="center">
        
           <input type="text"  name="genre" value= <?php echo "'$genre'"; ?> size="5" maxlength="5" readonly> 
           </td>
           </tr> 
           <tr>
           <td align="center"> 
           <input type="text" name="nom" Value="nom" size="40" maxlength="100" onfocus="value=''"> 
           </td>
           <td  align="center">
           <input type="text" name="prenom" value="Prénom" size="40" maxlength="100"onfocus="value=''"> 
           </td>
          </tr>
          <tr>
           <td colspan="2" align="center">
           <input type="text" name="titre" value="Titre du livre "size="50" maxlength="100" onfocus="value=''">
           </td>
          </tr>
          <tr>
          <td colspan="2" align="center"> 
          <input type="submit" value="VALIDER"  style="background-color: #FFFFCC">
        </form> 
        <script type="text/javascript">
        document.onkeydown=function(){
            if(window.event.keyCode=='13'){
                document.forms["myform"].submit();
            }
        }
        </script>
        
        
        0
      2. clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   1 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        OK, je te remercie pour ton aide;
        Bonne journée
        0
  2. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    Salut,

    pour ma part, un formulaire classique se valide automatiquement par la touche entrée, pas besoin de JS.
    0
    1. clé de 12 Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   1
       
      Hello TheBIShop
      Dans ma page, il y a 4 ou 5 form... je dois savoir quel <form> valider...d'où le besoin de la syntaxe en JS qui est sélective. Merci quand même pour ta contribution
      0
    2. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
       
      Ah exact, sans précision de ce menu détail... ;)
      0