Formulaire Window.open et PHP

Bonsoir à tous.
J'aurais besoin d'aide pour me sortir d'un casse-tête (pour moi) :
Voilà le "machin" :
je sais aller sur une page pour l'imprimer en passant des données, comme ceci :
<a href="#null" onclick="java script: window.open('paperasses/fafa_print.php?id_a=<?php echo $id_a;?>&id_b=<?php echo $id_b;?>&id_c=<?php echo $id_c;?>','print', 'width=650px,height=1000px');"><img src='images/pixel_transparent.png' width='30' height='16'></a>
A l'arrivée la page s'affiche, la boite de dialogue s'affiche, j'imprime (ou j'annule), la page se ferme et je reste sur la page de départ.
La page d'arrivée ayant, à la fin :
<script language="javascript">
print();
close();
</script>
</body>
</html>
Très bien.
MAIS, je voudrais pouvoir faire la même chose avec, comme départ, non pas un lien comme ci-dessus, mais un formulaire :
<form name="form_depart" id="form_470864" class="form" method="POST" action="paperasses/fafa_print.php">
Et je n'arrive pas à cumuler tout ceci.
Si quelqu'un passait par là avec une solution, des idées, ...
Bien évidemment, je n'ai rien trouvé de probant en cherchant d'abord sur le net.
Merci d'avance.

3 réponses

  1. Malgré qqs erreurs corrigées ça ne marche pas ton truc:
    funtion function_popup(){
    window.open('paperasses/fafa_print.php,'print','width=650px,height=1000px'); //la on ouvre un popup en JS appelant un script php, mais le formulaire n'est pas encore envoyé
    document.form_470864.submit(); //la on envoie le formulaire
    }


    j'ai fait l'essai ça réaffiche le formulaire vide dans le popup

    comme ça ça marche, on a la valeur saisie qui s'affiche:

    <script type="text/javascript">
    
    function fonction_popup(){
      window.open('page_form.php','print','width=650px,height=1000px'); //j'ai appelé la page contenant le formulaire page_form.php
      document.form_470864.submit();
    }
    
    </script>
    <?php
    if(isset($_POST['saisie'])){
    
    echo "Saisie: ".$_POST['saisie'];
    
    }else{
    
    ?>
    <form  name="form_470864" target="print" method="POST">
    <input type="text" name="saisie" value="" /><br />
    
    <input type="button" value="envoyer" onclick="javascript: fonction_popup();">
    </form>
    <?php
    }
    ?>


    Il suffit de rajouter le bouton imprimer etc..sous contrôle du $_POST
    0
    1. oui en effet, honnetement j'avais pas testé

      alors je rectifie

      <script type="text/javascript">
      
      function fonction_popup(){
      	popup = window.open('','print','width=650px,height=1000px'); //j'ai appelé la page contenant le formulaire page_form.php
      	document.form_470864.submit();
      	popup.focus();
      }
      </script>
      
      
      
      <form  name="form_470864" target="print" method="POST" action="page_form.php">
      	<input type="text" name="saisie" value="" /><br />
      
      	<input type="button" value="envoyer" onclick="javascript: fonction_popup();">
      </form>


      il faut enlever l'url de la popup et rajouter cette url dans l'attribut action du formulaire

      et j'ai ajouté le focus sur la popup au cas ou on l'est déjà ouverte, elle revient en premier plan
      0
    2. ok ça marche sauf popup.focus();
      0