Formulaire double action

Bonjour , j'ai realisé un formulaire :

<form method="post" action="newsletter.php">
...
</form>

je voudrais savoir si il serait possible de rajouter un action pr le meme formulaire. ( 2 actions en tous )

Merci pour vos infos !!

a bientot !

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir
    A partir du code suivant, tu définis 2 actions différentes selon tes besoins.
    <script language="javascript">
    function Envoie(Url)
    {
    document.Form_envoi.method='post';
    document.Form_envoi.target='_self';
    document.Form_envoi.action=Url;
    document.Form_envoi.submit();
    }
    </script>
    <form name="Form_envoi">
    <input type="button" name="Retour" value="Retour à la liste" Onclick="Envoie('stage_choix.asp');">
    </form>
    1. salut les gars !
      dslé gT pas la ce we!
      merci pr vos infos !

      suppozons qe jutiliz le script javascript :
      <script language="javascript">
      function Envoie(Url)
      {
      document.Form_envoi.method='post';
      document.Form_envoi.target='_self';
      document.Form_envoi.action=Url;
      document.Form_envoi.action=Url2;
      document.Form_envoi.submit();
      }
      ...

      jdoi faire cela pour avoir une deuxieme actions ?

      j'ai testé: et sa ne m'executé qe la 2eme action, que dois-je faire ?

      merci a vous !!

      a bientot !
      1. function Envoie(Url)
        {
        document.Form_envoi.method='post';
        document.Form_envoi.target='_self';
        document.Form_envoi.action=Url;
        document.Form_envoi.submit();
        }

        <form name="Form_envoi">
        ...
        blablabla
        ...
        <input type="button" name="Retour" value="Retour à la liste" Onclick="Envoie('stage_choix.asp');">
        ...
        blablabla
        ...
        <input type="button" name="Retour" value="Retour à la liste" Onclick="Envoie('stage_choix2.asp');">
        </form>
        1. Bonjour Kixz,

          Je suis sur le meme cas (mais avec differentes contrainte).

          J'ai été capable de faire 2 posts avec cette variante:

          function Envoie(Url)
          {
          document.Form_envoi.method='post';
          document.Form_envoi.target='_self';
          document.Form_envoi.action=Url;
          document.Form_envoi.submit();
          }

          function MondoublePost()
          {
          Envoie('http://monpremier.php');
          Envoie('http://monsecond.pl');
          }

          Fait attention à ce que ton premier appel ne charge une page. Cela pourrait écraser ta page (et donc cesser l'exécution de ton script).

          Fidzy
          1. Bonjour,
            J'avais le même problème, j'ai cherché un moment. La solution est pourtant simple : ce n'est pas pas dans le formulaire qu'il faut intervenir, mais, dans l'exemple cité dans le premier post, sur le fichier "newsletter.php". Il suffit d'y programmer les deux actions, à savoir, enregistrer l'adresse mail transmise par le formulaire dans une base de donnée et être prévenu par mail qu'une nouvelle entrée a été ajoutée.

            Moi, je voulais enregistrer le pseudo des posteurs de mon livre d'or nom seulement dans une bdd, mais aussi dans un cookie.
            1. Bonjour !

              Ce que tu me propose m'affiche deux boutons distinct. Es t il possible d'en avoir un seul qui revoi vers 2 actions ?

              mer6 !!!
              bon jée !
              1. Un truc dans le genre
                function Envoie(Url) 
                { 
                if(document.Form_envoi.champ1.value='cequetuveux') {
                document.Form_envoi.action=Url; 
                } 
                if(document.Form_envoi.champ2.value='laaussicequetuveux') {
                document.Form_envoi.action=Url2; 
                }
                ...etc
                ...
                document.Form_envoi.method='post'; 
                document.Form_envoi.target='_self'; 
                document.Form_envoi.submit(); 
                }
                
                
                <form name="Form_envoi"> 
                ... 
                un champ 1
                un champ 2
                ... 
                <input type="button" name="" value="" Onclick="Envoie('');"
                1. Désolé , c'est encore moi !

                  jvous explique mon pb en detail , pcq a mon avi jme suis mal expliqué !

                  en fait , j'ai un champ ( qui recupere l'adresse email) , ma premiere action execute mon fichier.php qui va enregistré l'adresse mail ds une base de donnée.
                  Je voudrai etre prévenu par mail , lorsque un mail est ajouté!
                  j'ai utilizé la fonction mail ds le php , mais chez free , sa pose pb !

                  eux il propose un truc pr recevoir le formulaire par mail
                  ACTION="http://perso0.free.fr/cgi-bin/form2mail.pl"

                  je doi metre sa comme action !
                  dc il me faut pr le mem bouton et pr un seul champ qq chose qui puiss m'executer les 2 actions

                  une idée ?
                  Merci !!!!!!!!!!!!
                  1. Tu pourrais pas écrire en français...
                2. Bonjour,

                  J'ai utilisé cette solution avec mon premier script qui ne charge aucune page :

                  <%

                  email = Request.Form("email")
                  url = Request.ServerVariables("URL")

                  Sql = "select email_simul from sim_contacts "

                  set rs = MaConnexion.execute(Sql)
                  if email <> "" then

                  while not RS.eof

                  if rs("email_simul") = "" & email & "" then

                  ok = 1

                  end if

                  RS.MOVENEXT
                  wend
                  RS.close

                  if ok <> 1 then

                  Sql = "INSERT INTO sim_contacts(email_simul) VALUES('" & email & "')"

                  MaConnexion.execute(Sql)
                  end if

                  end if

                  %>

                  Mais ensuite il ne veut pas continuer le deuxieme script ....

                  function MondoublePost()
                  {
                  Envoie('http://monpremier.asp'); ====> celui la marche (cf code au dessus)
                  Envoie('http://monsecond.asp'); ====> mais celui là ne passe pas ...
                  }
                  1. Il faut valider le formulaire par javascript appelant la première page comme une fausse source et non pour l'ouvrir avec un return valide genre < type=javascript src="la1page.php">.

                    la validation entraine l'exécution de la premiere page et une confirmation du formulaire. La seconde s'ouvrira ensuite automatiquement.
                    1. BlackDiamond, Nous donnerais-tu un exemple ?
                  2. Contributeur
                    Je te conseil une solution peu être plus à ta portée si tu ne connais par le JavaScript :
                    Au lieu de ne mettre qu'un seul bouton d'envoi, tu en met deux comme suit par exemple intitulé "form.php":

                    <?php
                    if(isset($_POST['confirmer']))
                    echo "vous avez confirmer votre message<BR>";
                    else if(isset($_POST['pas_confirmer']))
                    echo "Vous n'avez pas confimer votre message<BR>";
                    ?>

                    <FORM>

                    Entrer votre message :<BR>
                    <INPUT TYPE="text" NAME="texte_bidon">

                    <INPUT TYPE="submit" NAME="confirmer" VALUE="confirm">
                    <BR>
                    <INPUT TYPE="submit" NAME="pas_confirmer" VALUE="no_confirm">

                    </FORM>

                    Good luck! @++