Formulaire un bouton plusieurs actions simultanées

Signaler
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour, je sais que la question a déjà été abordé mais je n'ai pas trouvé de réponse a ma question.
J'ai un form qui a comme action une page php :
<form action="pages/ticket-larena-seule.php" method="post" name="reduc_larena_seule" id="reduc_larena_seule" />

Le bouton du form a un onClick pour controler certain champs du form :
onClick="MM_validateForm(\'Nom\',\'\',\'R\',\'Prenom\',\'\',\'R\',\'Mail\',\'\',\'RisEmail\');return document.MM_returnValue"

J'aimerais rajouter a mon form une deuxieme action : action="?info=newsletter"

merci pour votre aide

13 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
bonjour,

    ce n'est pas une action que tu nous montres

action="?info=newsletter"
       mais un paramètre qui serait transmis à la page actuelle
      

    la 2ème action, il faudrait la faire où ?
           coté javascript, coté php ?
           dans le bouton sur onclick, dans action du formualire ?





    et tu voudrais que ce soit réellement smlultané, ou une action
       après l'autre ça irait aussi ?





<hr />




Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Bonjour,
oui en réalité je souhaiterias déclancher simultanément :

action="pages/ticket-larena-seule.php" et action="?info=newsletter".
Il faut savoir que "?info=newsletter" c'est l'équivalent de "pages/newsletter.php".

Pour se qui est du type déclanchement (javascript, php, bouton ou form) je n'ais aucune idée.
le plus simple serait le mieux tout en conservant le onClick de contrôle du formulaire

Merci
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
ah tiens.. je n'ai pas reçu de message me prévenant d'une réponse ?
    ou alors, perdu corps et bien ? ou considéré comme un spam ?



>> déclancher simultanément :
>>action="pages/ticket-larena-seule.php" et action="?info=newsletter".
    certes , donc appeler ticket-larena-seule.php
    et rappeler la page "sur laquelle on est" avec le paramètre

info=newsletter

    c'est bien ce que tu demandes ?







<hr />




Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
parce que si c'est le cas, pourquoi recharger la page ?

sinon, c'est

ticket-larena-seule.php


?info=newsletter     que tu voudrais ?
    et dans ce cas, pourquoi appeler 2 fois la même page ?

ou alors c'est une autre page ?
    et dans ce cas, à part déclencher un pop-up qui lui appellera le php,
    je ne sais pas s'il y a une autre solution.

    sauf appeler cette nouvelle page, dans


ticket-larena-seule.php
,
       mais ce ne serait plus tout à fait simultané ! s'il le faut réellement !

<hr />
Cordialement                Bul         [mon Site]    [M'écrire]<hr />En général, c'est absurde de généraliser.
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Wahouuu, j'ai l'impresion que tu touche un max en JS.

Donc je vais te donner plus de détails sur mon bessoin.
j'ai dans un article un formulaire (Form1) avec les champs Obligatoire suivant : nom / prenom / mail.
Ces informations sont envoyées a la page "pages/ticket-larena-seule.php". Cette page génér un bon de réduction en PDF.

Dans la même page web que le formulaire (Form1), j'ai un autre formulaire (Form2) d'inscription a la newsletter avec le champ "mail".

Donc comme la valeur commune est le mail, je voulais que l'on puisse déclanché l'envoie du contenu du formulaire (Form1) sur les pages "pages/ticket-larena-seule.php" et "?info=newsletter".

La page : "pages/ticket-larena-seule.php" s'ouvrant dans une nouvelle fenetre (target="_blank")
et la page : "?info=newsletter" reste sur la page active.

Merci pour ton aide
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
>>Wahouuu, j'ai l'impresion que tu touche un max en JS.
    meuh non...

>>Donc je vais te donner plus de détails sur mon besoin.
    ah !!! j'en ai besoin

>>formulaire (Form1) envoyé a "pages/ticket-larena-seule.php"
    ok

>>autre formulaire (Form2) d'inscription a la newsletter avec le champ "mail".
>>sur les pages "pages/ticket-larena-seule.php" et "?info=newsletter".
    tu ne réponds pas à ma question...
    je sais, je suis un peu beubeu,
        mais ?info=newsletter ce n'est pas une page !!!!!

>>et la page : "?info=newsletter" reste sur la page active.
    donc ? ça veut dire que c'est la même page qu'il faut rappeler ?
        avec un paramètre, traité, dans cette page par $_GET['info']

en fait ce que tu veux, c'est envoyer des données à 2 php, finalement, non ?

    on en revient donc à ce que je te disais...
    la simultanéïté n'est absolument pas nécessaire.
    parce que tu as choisi de faire comme ça, tu te poses des problèmes
      
    on peut voir les choses autrement.
   
    si tu mettais "toutes les données" dans le même formulaire ? par exemple.
        et/ou si le traitement de l'inscription à la newLetter n'était pas
        dans la page initiale, et/ou....

    maintenant si tu tiens à conserver ton "architecture" :  pop-up.
    moi j'éviterais ( et celui qui te parlerais d'ajax aurait tort, ça
       compliquerait inutilement, alors qu'une conception un poil
       différente résoudrait les choses )

<hr />



Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Dsl d'avoir tardé a te répondre ...

>>sur les pages "pages/ticket-larena-seule.php" et "?info=newsletter".
    tu ne réponds pas à ma question...
    je sais, je suis un peu beubeu,
        mais ?info=newsletter ce n'est pas une page !!!!!
--> Si si c'est bien une autre page.
>>et la page : "?info=newsletter" reste sur la page active.
--> Non ca redirige sur une page qui contrôle l'adresse mail et qui affiche si oui ou non la personne est déjà inscrite.
en fait ce que tu veux, c'est envoyer des données à 2 php, finalement, non ?
--> Oui, c'est ca ... Mais ca me semble pas glop comme truc ?
si tu mettais "toutes les données" dans le même formulaire ?
--> En faite c'est ce que j'ai fait. Le Form de la news a des champs de paramettre cachés, que j'ai simplement ajouté au form de génération du ticket.
Mais quoi qu'il en soit il faut bien que les données du form du ticket soit envoyé au 2 pages pour traitement.
A moins que tu es une idée derriere la tête et que tu me cache qq chose.
maintenant si tu tiens à conserver ton "architecture" :  pop-up.
--> je n'ai pas de pop up !
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
>>mais ?info=newsletter ce n'est pas une page !!!!!
> Si si c'est bien une autre page.
    non, non....   nouvelle_page.php?info=newsletter
    serait une nouvelle page

>>et la page : "?info=newsletter" reste sur la page active.
    ah!!!    donc c'est la même page, qu'on recharge, pas une nouvelle.

>>en fait ce que tu veux, c'est envoyer des données à 2 php, finalement, non ?
> Oui, c'est ca

par exemple :

    page.htm doit appeler trt1.php et trt2.php
   
    ° dans page.htm, on lance trt1.php ( avec un formulaire par exemple )
            et trt1.php appellera trt2.php
    ° dans page.htm, on ouvre un pop-up
        puis on lance trt1.php.
        le pop-up lance trt2.php
    ° dans page.htm, avec ajax on appelle trt1.php, dès que
        la réponse est revenue, on peut appeler trt2.php
        ( avec un formulaire, avec ajax ... )

    si à la place de trt2.php c'est page.htm qu'il faut recharger
        ( page.php du coup probablement ) je ne vois que le pop-up
        qui appelle trt1.php, page.php se relaçant elle-même après
        l'appel de ce pop-up.

    mais il y a probablement d'autres possibilités.      
       
<hr />



Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
il aurait fallu lire :

si à la place de trt2.php c'est page.htm qu'il faut recharger
        ( page.php du coup probablement ) je ne vois que le pop-up
        ou ajax pour appeller trt1.php, page.php se relançant elle-même
        avec le paramètre après l'appel de ce pop-up ou la réponse d'ajax
!


<hr />




Cordialement            Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Bon ok, c'est un processe qui semble convenir a ma demande.
je confirme que

?info=newsletter est bien une nouvelle page car j'utilise les pseudo frame et non une valeur pour déclancher un script.

Mon souhait de départ et que la page
pages/ticket-larena-seule.php s'ouvre dans une nouvelle page car c'est un document PDF qui est généré.
Et que le 2éme traitment se fasse dans une iframe de 1px comme ca le résultat de l'inscription est invisible pour l'utilisateur. Et dans cette iframe c'est la page "pages/newsletter.php" qui est appelé

Maintenant, ma grande question est : Comment mettre ca en place, je n'ais auccune connaisance en JS et t'imagine encor moins en AJAX.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
>>


je n'ais auccune connaisance en JS
    ah ben alors... c'est le moment d'apprendre !

>>et t'imagine encor moins en AJAX.
    bof, juste quelques lignes coté client.
    tu trouveras partout ( et bien sûr dans CodesSources )
       toutes les infos nécessaires.

en attendant :



function xmlhttp()
{ var x;
  try       { x = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try       { x = new ActiveXObject("Msxml2.XMLHTTP"); }
              catch (e) { try       { x = new XMLHttpRequest(); }
                          catch (e) { x=false; }
                        }
            }
    return x;
}

var xml = xmlhttp();
if(!xml)
     { alert("XmlHttpRequest non supporté"); }
else { xml.onreadystatechange = function()
       { if(xml.readyState==4)
         { la réponse est dans xml.responseText ou responseXML }
       };
       xml.open("POST", "url du php", true);
       xml.setRequestHeader("Content-type","application/x-www-form-urlencoded");
       try       { xml.send("?1er paramètre&2ème..."); }
       catch (e) { alert(e.description); }
     }






    on peut fignoler, mais, ben oui, c'est tout ( enfin... coté client !)
   



<hr />




Cordialement            Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

je suis confu, ton code est du trés haut de gamme pour moi, je ne sais pas comment n'en servire ni comment l'implenter dans le code existant.

j'ai besoin de plus d'explication.


Dsl
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
il te reste donc à lire les docs concernant ajax et/ou xmlhttprequest,
    à essayer, tester...
quand à "où l'insérer" ? : là où tu en as besoin   ;-)
<hr />



Cordialement            Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.