Voilà mon premier tuto :) Il parle de la gestion de formulaires multiples dont les noms sont générés dynamiquement.
Vous avez peut-être déjà rencontré ce problème : Devoir valider un formulaire grâce à un javascript. Et bien voici comment faire lorsqu'en plus vous ne connaissez pas son nom.
Ce genre de procédé est très utile pour une liste de champs validables 1 par 1, par exemple... Tester la démo ?
multiform.asp
<html><head><title>Formulaires multiples avec validation</title> <script language="JavaScript"> // la fonction javascript qui demande la confirmation function Confirmation(Formulaire) { var rep; // on demande la confirmation rep = confirm("Valider la saisie ?"); // si réponse positive on envoi le formulaire sinon rien if (rep) { // on indique le formulaire a été validé document.forms("" + Formulaire + "").action="multiform.asp?valide=true" // on valide le formulaire document.forms("" + Formulaire + "").submit(); } } </script> </head><body>
<% ' On récupère la valeur envoyée par le formulaire If Request.QueryString("valide") <> "" then Response.Write "Le Formulaire validé est le n° " & Request.Form("num") Response.Write "<br>Il contenait : " & Request.Form("Text") End If %>
<table> <% Dim i
for i = 1 to 10 ' Affichage des 10 formulaires %> <form method="post" action="" name="<%=i%>"> <tr> <td> <input type='hidden' name="num" value="<%=i%>"> <input type='text' name="Text" value="<%=i%>"> </td><td> <input type='button' name="ok" value='ok' OnCLick="Confirmation(<%=i%>);"> </td> </tr> </form> <% next %> </table> </body></html>
Remarque :
La boucle For peut être remplacée par while avec l'utilisation d'un recordset. C là que ça devient vraiment intéressant ;)...
multiform.php
<html><head><title>Formulaires multiples avec validation</title> <script language="JavaScript"> // la fonction javascript qui demande la confirmation function Confirmation(Formulaire) { var rep; // on demande la confirmation rep = confirm("Valider la saisie ?"); // si réponse positive on envoi le formulaire sinon rien if (rep) { // on indique le formulaire a été validé document.forms("" + Formulaire + "").action="multiform.php?valide=true" // on valide le formulaire document.forms("" + Formulaire + "").submit(); } } </script> </head><body>
<? // On récupère la valeur envoyée par le formulaire if($valide) { echo "Le Formulaire validé est le n° " . $num; echo "<br>Il contenait : " . $Text; } ?>