fonction confirmer pour un seul submit

Répondre
Michel L
Michel L
Déconnecté
Bonjour !

J’ai un formulaire :
  1.  
  2. <form id="formulaire" action="MailingEnvoyerSuite.php" method="post" name="formulaire" onSubmit="return confirmer()">
  3.  

Qui contient deux boutons

  1.  
  2. <input type="submit" name="bOK" value="Essais" />
  3. <input type="submit" name="bOK" value="Faire le truc" />
  4.  


Je veux faire une fonction confirmer en JC qui ne fonctionne que si on clique sur le bouton submit value="Faire le truc"
Je n’y arrive pas

Voilà ce que j’ai essayé de mettre dans l’entête de la page :
  1.  
  2.    <SCRIPT LANGUAGE="JavaScript">
  3.       function confirmer() {
  4.          if (document.formulaire.bOK == "Faire le truc") {
  5.             return confirm('Etes-vous sur ?');
  6.          }
  7.       }
  8.       
  9.    </SCRIPT>
  10.  

Ça ne marche pas
Quelqu’un peut me conseiller ?

Merci
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Essaye ça :

  1. var confirmer = function(self)
  2. {
  3. if(self.elements['bOK'].value == "Faire le truc")
  4. {
  5. return confirm('Etes-vous sur ?');
  6. }
  7. } 


Et dans le onsubmit (et pas onSubmit...) :
  1. return confirmer(this) 
Michel L
Michel L
Déconnecté
merci beaucoup, je vais essayer
Michel L
Michel L
Déconnecté
J'ai essayé. Ça ne marche pas. :-(
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Après quelques recherche, je suis arrivé à la conclusion suivante : on ne peut pas utiliser plusieurs contrôles de soumission.

En effet, quel est le contrôle appelé lorsque l'utilisateur frappe 'enter' ?

Bref, pour t'en sortir, il faut utiliser des contrôles de type bouton.
summon.html
  1. ...
  2.    <script>
  3. var checkform = function(form)
  4. {
  5.    alert('Invocation !')
  6. }
  7.  
  8. var summon = function(button)
  9. {
  10.    alert('J'invoque un '+button.value.toLowerCase()+' !')
  11.    button.form.submit()
  12. }
  13.  
  14.    </script>
  15. </head>
  16. <body>
  17. <form action='' method='get' onsubmit='checkform(this)'>
  18. <button name='summoned' value='ghost' onclick='summon(this)'>Fantôme</button>
  19. <button name='summoned' value='spirit'onclick='summon(this)'>Esprit</button>
  20.    <input type='submit' name='summoner' value='Invocation'/>
  21. </form>
  22. </body>
  23. </html>
  24.  
Michel L
Michel L
Déconnecté
Bon, merci
Je vais essayer ça.
Michel L
Michel L
Déconnecté
Merci beaucoup pour ton aide.
Mais voilà ce qu'un gars ma donné sur editeurjavascript :

  1.  
  2.  
  3. <head>
  4. <SCRIPT type="text/javaScript">
  5. function confirmer() {
  6. if (document.getElementById('alerte').value=='1')
  7. return confirm('Etes-vous sûr(e) ?');
  8. else
  9. return true;
  10. }
  11. </SCRIPT>
  12. </head>
  13. <body >
  14. <form id="formulaire" action="PeuImporte.php" method="post" name="formulaire" onsubmit="return confirmer(this);">
  15. <input type="hidden" id="alerte" value="0">
  16. <p> <input type="submit" name="bOK" value="Avec alerte" onClick="document.getElementById('alerte').value='1';"/></p>
  17. <p> <input type="submit" name="bOK2" value="Sans alerte" onClick="document.getElementById('alerte').value='0';"/> </p>
  18. </form>
  19. </body>
  20.  


ça marche impec !!
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Le problème est que cette solution n'est pas déterministe. C'est à dire qu'on ne sait pas ce qu'il se passe si on tappe sur entré pour valider.
Michel L
Michel L
Déconnecté
Il ne se passe rien.
Il faut cliquer

Ça sert a soit faire un essais
soit le faire pour de bon

exemple :
envoyer un mail à une adresse d'essais
ou
envoyer le même mail à n destinaire
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog