IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[PHP-JS] formulaire - javascript pour dicter l'action par défaut de la touche entrée


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [PHP-JS] formulaire - javascript pour dicter l'action par défaut de la touche entrée
    Bonjour,
    tout d'abord excusez-moi par avance car je risque de poser des questions stupides étant donné que je débute en javascript ...
    Voici mon problème : j'ai créé un script PHP pour génèrer des images png contenant un texte.
    La page se présente sous forme d'un formulaire avec une entrée pour la date, une pour le message et une pour la taille de la police.
    Il y a donc plusieurs boutons 'input type = submit' : 2 pour changer de date (jour précédent - jour suivant), un pour avoir un aperçu de l'image et un dernier pour écrire le message dans la bdd.
    Le problème est que quand dans le champ de la taille de fonte, on appuie sur entrée, le bouton actionné par défaut est le premier placé donc celui du changment de date alors que la logique voudrait que ce soir celui de l'aperçu de l'image.
    Je pense qu'un petit code javascript pourrait me permettre de définir le bouton actionné par défaut par la touche entrée ... mais les explications trouvées via google sont soit floues, soit trop compliquées pour un néophyte comme moi.

    Merci par avance de votre aide.

    En html le code donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <form enctype='multipart/form-data' method='POST'>
    <br>
    date : <br>
    <input type='submit' name='prev' value=' <- ' action='?id=a'><input type='hidden' name='prevd' value='2008-04-21'>&nbsp
    <input type='text' name='day' value='22' size='1' maxlength='2'>
    <select name='mois' size='1'><option value='01'>janvier</option>
    (...)
    <option value='12'>décembre</option></select>
    <input type='text' name='year' value='2008' size='2' maxlength='4'>
    &nbsp<input type='submit' name='next' value=' -> ' action='?id=a'><input type='hidden' name='nextd' value='2008-04-23'>
    <br><br>
    	texte : <br>
    <textarea name='content' cols='40' rows='10'></textarea>
    <br>
    taille de la fonte : <input type='text' name='font' value='28' size='1' maxlength='2'>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type='submit' name='show' value='Aperçu' action='?id=a'>
    <br><br>
    Confirmation : <input type='password' name='pass' value='' size='6' maxlength='6'>
    &nbsp;&nbsp;&nbsp;
    <input type='submit' name='write' value='Ecrire' action='?id=a'>
    <br>
    </form>

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Salut,

    Je pense que pour être plus propre il vaut mieux remplacer les <input type='submit' par <input type='button' onclick='monaction' ....

    Tu peux aussi utiliser tabindex= X (ou X est un nombre lié à l'ordre de tes boutons)

    Ainsi il faudra tabuler 3* pour aller au troisième bouton.

    Cela peut peut être t'aider.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    déja plusieurs boutons submit dasn ce cas de figure ne me semble pas la meilleure solution ...
    J'aurais plutot mis plusieurs boutons type='button' et modifié l'action sur le onsubmit du form en fonction du bouton clické, pour cela une modification de variable globales sur le onclick du bouton et un swicth dans le onsubmit ...

    Un petit exemple pour l'inspiration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <script type='text/javascript'>
    var formaction=""
    function SelectAction(){
    switch (formaction){
    						case("action1"):	document.forms[0].action="javascript:alert('action 1')";
    											break;
    						case("action2"):	document.forms[0].action="javascript:alert('action 2')";
    											break;
    						case("action3"):	document.forms[0].action="javascript:alert('action 3')";
    											break;
    						case("action4"):	document.forms[0].action="javascript:alert('action 4')";
    											break;
    						}
    return true;
    }
    </script>
     
    </head>
     
    <body>
    <form action="" onsubmit="return SelectAction()" />
    <input type='button' value='action1' onclick="formaction=this.value" /><br />
     
    <input type='button' value='action2' onclick="formaction=this.value" /><br />
    <input type='button' value='action3' onclick="formaction=this.value" /><br />
    <input type='button' value='action4' onclick="formaction=this.value" /><br />
    <input type='submit' value="go" />
    </form>
    </body>
     
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/04/2014, 10h36
  2. Création dynamique de page php sur formulaire JavaScript
    Par Darkyl dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2013, 15h37
  3. Plusieurs évènements javascript pour une même action
    Par niacinside dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/06/2008, 14h56
  4. javascript pour exécuter une action
    Par hoor3in dans le forum Struts 1
    Réponses: 29
    Dernier message: 01/08/2007, 13h52
  5. [intput] action par défaut lorsqu'on appuit sur "Enter&
    Par pmartin8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/10/2005, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo