Problème d'envoi de formulaire

Fermé
skuallpa Messages postés 9 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 11 septembre 2009 - 20 août 2009 à 18:38
skuallpa Messages postés 9 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 11 septembre 2009 - 20 août 2009 à 19:08
Bonjour,

J'ai un problème pour transmettre un formulaire. Je m'explique:
J'ai sur ma page principale un bouton. lorsque je clic sur le bouton, j'ai un popup qui s'ouvre. Ce popup contient un questionnaire. A chaque modification des champs du questionnaire, je vérifie les réponses. Si toutes les réponses sont compètes, j'affiche alors (dynamiquement au moyen de innerHTML) un nouveau bouton qui permet de lancer un téléchargement.

Voici mon code:

le bouton de ma page principale
<span id="downloadbut" style="Cursor: pointer;" onClick = "javascript: popUpSurvey();" ><span>Download</span></span>


mon javascript
function popUpSurvey()
{
    var formCode="";
    formCode	+= '<form id="surveyDownload" method="post" onSubmit="return checkSurvey()">';
    formCode	+= '...';
    formCode	+= '<div id="hiddenDownloadButton"></div>';
    Dialog.alert(formCode, {width:600, height:500, okLabel: "Cancel", windowParameters: {className: "winkl"}}); 
}

function checkSurvey()
{

  ...

  var DivARemplacer=document.getElementById('hiddenDownloadButton');
  if(SurveyOK)
  {
        //HTMLButton="<input type=\"submit\" class=\"button\" name=\"SurveyDownloadSubmit\" value=\"Download\"  />";
        HTMLButton='<a id="downloadbut" href="http://downloads.monsite.com?to=..." onclick="window.opener.window.document.getElementById(\'surveyDownload\').submit();"><span><strong>Download</strong></span></a>';

			
	DivARemplacer.innerHTML=HTMLButton;			
        return true;
    }
    else
    {

     return false;
    }
}


Si je clic sur le bouton qui apparait dans le questionnaire, le téléchargement se lance correctement. Cependant, le formulaire n'est pas envoyé. Comment faire?

J'ai mis en commentaire un bouton submit. Si j'affiche ce bouton plutôt que l'autre, et que je clic dessus, le formulaire est bien posté. Je peux récupérer mes valeurs de la manière suivante

<?
if(isset($_POST['group1']) ...)
{
 // mysql query
}
?>


Comment donc modifier mon bouton qui permet de lancer le téléchargement, de manière à ce qu'il envoie le formulaire en plus de lancer le téléchargement? Est-ce possible?

Merci d'avance pour votre aide

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 août 2009 à 18:53
pour le submit c'est plutôt:

document.surveyDownload.submit()

mets dans <form name="surveyDownload" au lieu de id=
0
skuallpa Messages postés 9 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 11 septembre 2009 2
20 août 2009 à 19:08
Merci pour ta réponse Alain_42,

J'ai fais les modifications, mais lors du clic sur mon bouton télécharger (celui qui s'affiche dynamiquement dans ma popup), il n'y a que le téléchargement qui est transmis et non le formulaire

HTMLButton='<a id="downloadbut" href="http://downloads.monsite.com/?tp=..." onclick="document.surveyDownload.submit();" ><span><strong>Download</strong></span></a>';

Une idée pourquoi? Ne peut-on pas à la fois lancé un téléchargement et soumettre un formulaire?
0