Bonsoir,

petit nouveau dans le coin, j'espère que mon message n'enfreint aucune règle du forum. Si tel était le cas, je m'en excuse d'avance platement.


Voici donc mon petit souci :

J'aimerais envoyer les variables d'un formulaire vers un fichier .php distant, qui n'accepte qu'une méthode "POST".
Le fichier php distant, lorsqu'on lui envoie les données du formulaire, fait un echo(); de ce que j'aimerais avoir dans un pop-up, qui n'est pour l'instant pas le cas.

Mon formulaire est bon. Si j'enlève le onclick="pop_it(leform)" du bouton de submit, le fichier distant php donne son résultat correctement... mais dans la fenêtre principale (beurk).


Voilà ce à quoi je suis arrivé jusque là :
----------------
le formulaire
----------------
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 <form method="post" name="leform" id="leform" action="http://le.fichier.fr/distant/exemple.php" onSubmit="return valider()">
            <fieldset>
 
              <textarea id="texte" name="texte" tabindex="1" accesskey="t" cols="100" rows="5">Collez votre texte ICI.</textarea>
<input type="button" name="effaceur" value="Effacer" onClick="javascript:effacer()" tabindex="3" accesskey="e"/>
<input name="submit" onclick="pop_it(leform)" type="button" accesskey="s" tabindex="2" value="Synth&eacute;tiser"/>
 
 
<input type="hidden" id="langue" name="langue" value="Français" checked="checked"/>
<input type="hidden" id="voix" name="voix" value="HA_Benoît" checked="checked"/>
<input type="hidden" id="volume" name="volume" value="10" checked="checked"/>
<input type="hidden" id="debit" name="debit" value="1" checked="checked"/>
 
 
            </fieldset>
</form>

----------------
scripts
----------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function effacer() {
	document.forms["kaliform"].texte.value="";
}
 
function pop_it(the_form) {
 
   my_form = eval(the_form);
   window.open('./wait.php', "popup", "height=100,width=300,menubar='no',toolbar='no',location='no',status='no',scrollbars='no'");
  my_form.target = "popup";
  my_form.submit(); // on poste le formulaire
}
 
 
function valider() {
	if(document.forms["leform"].texte.value == "") { // Si la valeur du champ est vide, 
		alert("Merci d'entrer un texte"); // on affiche un message,
		document.forms["leform"].texte.focus(); // on donne le focus au champ de texte,
    	return false; // et on indique de ne pas envoyer le formulaire.
  	}
	if(document.forms["leform"].texte.value.length > 2000) {  //pas plus de 2000 caractères
		document.forms["leform"].texte.value = document.forms["leform"].texte.value.slice(0,499);
	}
  return true;
}
__________________________________________

wait.php est vide.

J'ai cru comprendre que le formule magique " my_form=eval(the_form); my_form.submit(); " ne fonctionne plus et qu'il faut utiliser un objet XmlHttpRequest (Ajax) - http://siddh.developpez.com/articles/ajax/ - mais il permet d'ouvrir dans la fenêtre principale, et pas dans un popup...

Une idée ?