fonction confirmer pour un seul submit

Répondre
Michel L
le 24/11/2006 à 12:26
Michel L
Bonjour !

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

Qui contient deux boutons

<input type="submit" name="bOK" value="Essais" />
<input type="submit" name="bOK" value="Faire le truc" />


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 :
<SCRIPT LANGUAGE="JavaScript">
function confirmer() {
if (document.formulaire.bOK == "Faire le truc") {
return confirm('Etes-vous sur ?');
}
}

</SCRIPT>

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

Merci
LupusMic
le 24/11/2006 à 13:47
LupusMic
Essaye ça :

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


Et dans le onsubmit (et pas onSubmit...) :
return confirmer(this)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 27/11/2006 à 11:07
LupusMic
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
...
<script>
var checkform = function(form)
{
alert('Invocation !')
}

var summon = function(button)
{
alert('J'invoque un '+button.value.toLowerCase()+' !')
button.form.submit()
}

</script>
</head>
<body>
<form action='' method='get' onsubmit='checkform(this)'>
<button name='summoned' value='ghost' onclick='summon(this)'>Fantôme</button>
<button name='summoned' value='spirit' onclick='summon(this)'>Esprit</button>
<input type='submit' name='summoner' value='Invocation'/>
</form>
</body>
</html>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Michel L
le 28/11/2006 à 08:52
Michel L
Merci beaucoup pour ton aide.
Mais voilà ce qu'un gars ma donné sur editeurjavascript :

<head>
<SCRIPT type="text/javaScript">
function confirmer() {
if (document.getElementById('alerte').value=='1')
return confirm('Etes-vous sûr(e) ?');
else
return true;
}
</SCRIPT>
</head>
<body >
<form id="formulaire" action="PeuImporte.php" method="post" name="formulaire" onsubmit="return confirmer(this);">
<input type="hidden" id="alerte" value="0">
<p> <input type="submit" name="bOK" value="Avec alerte" onClick="document.getElementById('alerte').value='1';"/></p>
<p> <input type="submit" name="bOK2" value="Sans alerte" onClick="document.getElementById('alerte').value='0';"/> </p>
</form>
</body>


ça marche impec !!
LupusMic
le 28/11/2006 à 18:41
LupusMic
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.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Michel L
le 04/12/2006 à 18:24
Michel L
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

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours