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 :

2 actions sur un même bouton


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut 2 actions sur un même bouton
    Bonjour à tous,
    voilà je dispose d'un formulaire assez classique, qui, lors de sa validation lance un traitement qui dure quelques secondes, et comme je dispose de clients (cliqueurs fous ... ), j'aimerais bloquer le formulaire au premier clic.

    J'ai mis le code javascript suivant sur mon bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.value="Patientez...";this.disabled=true;return true;
    Mon problème, c'est que sur les 3 actions demandées, seules les 2 premières fonctionnent, de même si j'invers les 2 dernières.

    Auriez-vous une explication ? ou aune autre solution ?

    D'avance merci.
    Vince

  2. #2
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben... il sert à quoi ton return 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

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut
    il sert à valider le bouton...
    je cherche à griser le bouton, pour empêcher le second clic, donc je le désactive, mais il me faut le valider pour activer le traitement derrière ...

  4. #4
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form id="monForm1" method="get">
    	<input type="submit" name='buttonSubmit' value="lol" />
    </form>
    <script type="text/javascript">
    	document.forms.monForm1.onsubmit = function(){
    		this.buttonSubmit.disabled=true;
    		this.buttonSubmit.value="Patientez...";
    		alert("la submit va s'effectuer maintenant");
    		return true;
    	};
    </script>

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut
    J'ai mis en place le code indiqué, en adaptant bien sûre le nom du bouton et du formulaire, mais le script n'est pas pris en compte ..
    je suis sur un environnement PHP, avec le framework Zend, si cela peut avoir une incidence...

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    document.forms.monForm1.onsubmit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["monForm1"]onsubmit

  7. #7
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je dirais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monform1').onsubmit
    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

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut
    je ne comprends pas, cela ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
    	document.getElementById('formPay').onsubmit = function(){
    		this.submit.disabled=true;
    		this.submit.value="Patientez...";
    		alert("la submit va s'effectuer maintenant");
    		return true;
    	};
    </script>
    mon bouton se nomme submit...
    merci

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par vince29 Voir le message
    mon bouton se nomme submit...
    merci
    Tu nous montres ton code HTML

  10. #10
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tout d'abord, le return true ne sert réellement à rien.
    Ensuite, ton input submit possède bien un attribut name dont la valeur est "submit" ?
    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

  11. #11
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    @vince: "submit" est un mot clé en javascript... donc il ne faut pas appeler tes champs ainsi.. surtout si tu utilises leurs noms pour y accéder via javascript.

    @les autres: il me semble que "document.forms.monForm1.onsubmit" est tout à fait valable !

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut
    ça fonctione, je suis allé un eu vite.

    j'ai créé une fonction javascript (code que vous m'avez donné), fonction appelée par le bouton submit avec la méthode 'onClick = inactif();'

    Et en javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
    function inactif(){
    	document.getElementById('formPay').onsubmit = function(){
    		this.submit.disabled=true;
    		this.submit.value="Patientez...";
    		//alert("la paiement va s'effectuer maintenant");
    		return true;
    	};
    }
    </script>
    Merci pour votre aide
    Vince

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plusieurs boutons d'action sur une même diapo
    Par mirwelle dans le forum Powerpoint
    Réponses: 1
    Dernier message: 27/08/2010, 04h27
  2. Rendre un bouton disabled (deux actions sur le même bouton)
    Par beegees dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/11/2008, 10h46
  3. plusieurs action sur un meme bouton
    Par francksilvagni dans le forum Flash
    Réponses: 8
    Dernier message: 04/05/2007, 17h54
  4. plusieurs actions pour un même bouton
    Par piotrr dans le forum Tkinter
    Réponses: 1
    Dernier message: 27/04/2007, 10h17
  5. [Spring MVC] Plusieurs actions sur le même formulaire
    Par aloha dans le forum Spring Web
    Réponses: 3
    Dernier message: 26/08/2006, 15h22

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