Version complète: sur le forum Webmaster Hub : Empêcher la soumission multiple d'un formulaire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Asp, Java, Cfm, autres.
Monique
Bonjour,

JMF propose une fonction JavaScript pour Empêcher la soumission multiple d'un formulaire.

Si le JavaScript est désactivé, le formulaire a un fonctionnement normal. Le script apporte donc un confort d'utilisation mais n'est pas un facteur bloquant.
Dash
Attention ! La methode est traitre. L'usage de ce javascript s'il est mal gere cote serveur peut faire plus de degats qu'autres choses...

Variante de l'exemple indique :
CITATION
<form action="traitement.php" method="post"
      onsubmit="return soumettreUneSeuleFois(this);">
  <fieldset>
    <input name="champ" type="text" />
    <input name="champ1" type="text" />
    <input name="champ2" type="text" />
    <input name="champ3" type="text" />
    <input name="champ4" type="text" />
    <input name="champ5" type="text" />
    <input name="champ6" type="text" />
    <input type="submit" name="submit" value="soumettre" />
  </fieldset>
</form>


Si la fonction soumettreUneSeuleFois() desactive le bouton "submit" lors de la validation du formulaire, la variable $_REQUEST['submit'] n'existera plus !

Donc, ca n'aura plus aucun sens par exemple de faire le test suivant en PHP :
CITATION
if ( !empty($_REQUEST['submit']) )
{
// traitement PHP du formulaire si $_REQUEST['submit'] non vide
//...
// malheureusement, a cause du javascript, $_REQUEST['submit'] sera desactive, donc inexistant, vide...
}
else
{
//..
}


Il faut y penser. Je me suis fait surprendre sur mon blog...
Solution : un champs hidden (par exemple "copy_submit") qui servira de temoin en cas de besoin smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.