Formulaire un bouton plusieurs actions simultanées
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011
-
27 août 2007 à 16:07
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
1 sept. 2007 à 12:42
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
A voir également:
Formulaire un bouton plusieurs actions simultanées
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 27 août 2007 à 17:19
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
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 août 2007 à 12:35
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
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 29 août 2007 à 13:50
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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 août 2007 à 14:44
>>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 )
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 30 août 2007 à 20:10
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 !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 31 août 2007 à 10:38
>>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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 sept. 2007 à 05:39
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
!
cs_christobal
Messages postés208Date d'inscriptionjeudi 3 octobre 2002StatutMembreDernière intervention31 mars 2011 1 sept. 2007 à 11:28
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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 sept. 2007 à 12:01
>>
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 !)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 sept. 2007 à 12:42
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 />