IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

envoi de variables en POST dans un popup


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par d�faut envoi de variables en POST dans un popup
    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 ?

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut Solution
    Salut,

    Bienvenue sur les forums de dvp.com.

    Il manque peu de chose � ton code que tu as r�cup�r�. Surtout de la simplicit�

    Vite fait, cette version fonctionne:

    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
      </head>
      <body>
    <script language="javascript" type="text/javascript">
    function pop_it(frm) {
       var w= window.open("", "popup", "height=200,width=320,menubar='no',toolbar='no',location='no',status='no',scrollbars='no'");
       frm.target = "popup";
       frm.submit();
    }
    </script>
    <form action="echo.php" method="post" >
    <p>
    Nom : <input type="text" name="nom" maxlength="32" size="12" value="" /><br />
    Prenom : <input type="test" name="prenom" size="32" /><br />
    <input type="submit" onclick="pop_it(this.form);" value="Traitement" /></p>
    </form>
      </body>
    </html>
    et echo.php:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    <?php
        //echo.php
        echo "Hello {$_POST['prenom']}";
    ?>
    Bon dev,

    ERE

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par d�faut
    Merci pour cette r�ponse rapide ! et efficace !
    D�sol� pour l'omission des balises de code !

    Je me suis effectivement un peu perdu dans la complexit�...

    �a fonctionne tr�s bien, � un d�tail pr�s :

    Le texte qui passe dans la moulinette du fichier php distant perd ses caract�res sp�ciaux. Ils sont tous transform�s en points d'interrogations. J'ai cru comprendre que c'est javascript qui fait ce genre d'entourloupette. Et comme vous l'avez certainement compris, le javascript reste un peu du domaine de l'obscur pour moi pour l'instant.

    Je ne vois pas o� se trouve le probl�me d'encodage.

    J'ai lu qu'on pouvait faire un choix automatique gr�ce �

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var y=document.createElement('span');
    y.innerHTML="le texte ici";
    et ce code fonctionne pour mes alertes.

    Voil� ce � quoi je suis arriv� (comment �a j'ai compliqu� la chose ? ;o ) :

    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
     
    function pop_it(frm) {
       var winleft=(screen.width-300)/2;
       var winup=(screen.height-100)/2;
       var w= window.open("./wait.php", "popup", "height=100,width=300,left="+winleft+",top="+winup+",menubar='no',toolbar='no',location='no',status='no',scrollbars='no'");
       frm.target = "popup";
     
       frm.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // Ne pas oublier ça pour un POST.
     
       var y=document.createElement('span');
    	y.innerHTML=document.forms["leform"].texte.value;
        frm.send("texte="+y.innerHTML)
     
        frm.submit();
    }
    A ce stade, le texte est bien envoy�, mais les caract�res sp�ciaux sont quand m�me transform�s en "?"

    Je suis sur une mauvaise piste ?

  4. #4
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    � partir du code initial, un
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <form .... target="_blank">
    n'aurait pas suffi ?

    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par d�faut
    Bonjour,

    en fait, la pr�sentation de cette page distante est tr�s... �pur�e.

    20 caract�res en tout et pour tout, le reste de la page est blanc et je ne suis pas autoris� � la modifier.

    D'o� le fait que je l'affiche dans une fen�tre de 300x100 au centre de l'�cran.

  6. #6
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par zuger Voir le message
    D'o� le fait que je l'affiche dans une fen�tre de 300x100 au centre de l'�cran.
    C'est effectivement une raison suffisante

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PHP 5.1] Probl�me d'envoi de variable par POST
    Par genesia dans le forum Langage
    R�ponses: 1
    Dernier message: 20/08/2012, 03h25
  2. Envoi de variable avec incr�ment dans l'URL
    Par Hybride76 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 03/03/2011, 14h23
  3. R�cup�rer des variables POST dans un popup.
    Par devoluti0n dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 04/09/2010, 14h07
  4. Envoi de variables avec POST
    Par oops! dans le forum Flash
    R�ponses: 5
    Dernier message: 06/08/2006, 21h14
  5. variables de session dans une popup
    Par erka dans le forum Langage
    R�ponses: 7
    Dernier message: 26/11/2005, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo