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 :

Verrouiller un bouton "Submit" une fois celui-ci cliqué ou touche "Entrée" pressée ?


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut Verrouiller un bouton "Submit" une fois celui-ci cliqué ou touche "Entrée" pressée ?
    Bonjour à tous,

    J'ai déjà vu ça sur certains sites Internet, mais sauriez-vous me dire comment faire pour désactiver un bouton de type "Submit" une fois celui-ci cliqué ou du moins dès que l'action associée au formulaire est lancée (clic sur le bouton ou touche Entrée appuyée) ?


    Merci d'avance.

    Gôm
    Quand on n'a pas d'tête, on a ...

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    le submit peux se faire par click ou la touche entrée sur un élément de ton formulaire donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form ... onsubmit="lockSubmit()">
    ...
    <input type="submit" value="envoyer" id="monsubmit">
    </form>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function lockSubmit(){
    document.getElementById('monsubmit').disabled = true;
    }
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    OK, merci beaucoup pour ce bout de code. C'était tout bête en fait ...

    Mais j'ai encore un problème. Mon bouton Submit n'a pas d'attribut "id" ou même "name" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" class="button" value="Ajouter la note" />
    C'est compliqué, mais disons que je souhaite laisser cette ligne de code ainsi.

    Comment faire pour identifier le bouton Submit ?

    N'y aurait-il pas quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myForm.mySubmit.disabled = true;

    ?

    Merci encore.

    Gôm
    Quand on n'a pas d'tête, on a ...

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'imagine que ta non-volonté d'ajouter un id à ton bouton à des raisons... (que la raison ne connait pas ), dans ce cas, il faut boucler sur les input pour retrouver le submit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var les_inputs = document.getElementByTagName('form')[0].getElementsByTagName('input');
    var nb = les_input.length - 1;
    for(var i = nb; i>=0; i--){
        if(les_input[i].type == 'submit'){
            les_input[i].disabled = true;
        }
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Tu peux faire une boucle en utilisant document.getElementsByTagName puis tu testes le type :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
    <head>
       <title>obtenir le type de champ input</title>
    	<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
       <style type="text/css">
     
       </style>
    </head>
    <body>
       <form id="f1" action="" method="post">
          <input id="i1" type="text" />
          <input id="v" type="submit" value="valider" />
       </form>
       <script type="text/javascript">
        var elms = document.getElementsByTagName("input");
        for (var i=0,imax=elms.length;i<imax;i++){
          alert(elms[i].type);
        }
       </script>
    </body>
    </html>
    [edit]grillé
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

Discussions similaires

  1. Afficher un texte une fois qu'on à cliquer un bouton input type="submit"
    Par Alexcontact dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/03/2014, 16h15
  2. Réponses: 2
    Dernier message: 25/01/2009, 20h21
  3. bouton submit qui ne fonctionne qu'une fois
    Par sam01 dans le forum Langage
    Réponses: 6
    Dernier message: 06/07/2007, 08h19
  4. [MFC] Checker plusieurs bouton en une fois
    Par kacedda dans le forum MFC
    Réponses: 2
    Dernier message: 08/03/2006, 17h10

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