Pb de passage de variable d'un formulaire !

Pb de passage de variable d'un formulaire ! - HTML/CSS - Programmation

Marsh Posté le 26-09-2003 à 18:04:40    

peut-on ouvrir produit_ajout_new.php dans une nouvelle page tout en concervant les variables du formulaire?
 
function confirm_ajout()
     {
     if(confirm('Voulez vous vraiment ajouter les produits?, pensez à faire un test du format de vos valeurs saisies'))
     {
  document.formproduit.action = 'produit_ajout_new.php';
  document.formproduit.submit();
 }
     }
 
en mettant :
<form name="formproduit" method="post" target="_blank" action="javascript:confirm_ajout()">
 
ca ne marche pas  

Reply

Marsh Posté le 26-09-2003 à 18:04:40   

Reply

Marsh Posté le 26-09-2003 à 18:55:51    

Tu peux epliciter un peu plus, et mettre également le reste du formulaire.
 
PS : D'une manière générale mets ton code dans les balises c++


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 29-09-2003 à 13:52:15    

En fait j'ai un formulaire qui est bcp trop grand.
Donc mon pb principal c'est que lorsqu'une personne saisi des valeurs dans le fomulaire ,valide et qu'il y a une erreur, si on revient à la page precedente, toutes les valeurs du formulaires sont effacé.
 
Le pb c'est que je ne peu pas passer les valeurs dans des variables de sessiosn du a leur nombre.
 
Donc j'aimerai executer la page de validation du formulaire (en php) dans une autre page "target="_blank" ;o)
 
la je vient d'essayer :
 

Code :
  1. function confirm_ajout()
  2.      {
  3.      var win_opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";
  4.      win_opt+="scrollbars=1,resizable=1,copyhistory=0,";
  5.      // Definition des dimensions de la fenetre
  6.      win_opt+="width=550"+",height=550";
  7.    
  8.      // Vous pouvez aussi definir la position de la fenetre a ouvrir
  9.      win_opt+="top=100"+",left=200";
  10.      // Creation de la fenetre en precisant le fichier a afficher et le
  11.      // titre de la fenetre
  12.      NewWindow = window.open("produit_ajout_new.php","Journee_portes_ouvertes",win_opt);
  13.    
  14.      if(confirm('Voulez vous vraiment ajouter les produits?, pensez à faire un test du format de vos valeurs saisies'))
  15.      {
  16.  NewWindow.document.formproduit.action = 'produit_ajout_new.php';
  17.  NewWindow.document.formproduit.submit();
  18. }
  19.      }


 
formproduit c'ets le nom de tout mon formulaire contenat le informations a saisir sur les produits.
 
 
 
ca c'ets mon formulaire:
 

Code :
  1. <div id="bloc1">
  2.         <form name="formproduit" method="post" action="javascript:confirm_ajout()">
  3.         <table bgcolor="#EEEEEE" border="1">
  4.         <tr bgcolor="#CCCCCC">
  5.         <td><b>Ligne</b><td><font color='red'>*</font>cod_pro</td><td><font color='red'>*</font>design_long</td><td>gen_code</td><td>dt_valid</td>
  6.         <td>taille</td><td>couleur</td> <td>PCB</td><td>fourn_princ</td><td>devise_achat</td><td>devise_vente</td>
  7.         <td>famille</td><td>licence</td><td>univers</td><td>famille_remise</td><td>T1</td><td>T2</td><td>T5=PVP</td>
  8.         </tr>
  9.        
  10. <?
  11. for($i=0; $i<20;$i++)
  12.         {
  13.            $j=$i+1;     
  14.          echo "<tr>";
  15.          echo "<td align='center' bgcolor='#CCCCCC'>".$j."</td>";
  16.          echo " <td><input type=text size='8' name=cod_pro[".$i."] id=cod_pro_".$i."></td>";
  17.          echo " <td><input type=text name=design_long[".$i."] id=design_long_".$i."></td>";
  18.           echo " <td><input type=text size='13' name=gen_code[".$i."] id=gen_code_".$i."></td>";
  19.          echo " <td><input type=text size='10' name=dt_valid[".$i."] id=dt_valid_".$i."></td>";
  20.          echo " <td><input type=text size='5' name=taille[".$i."] id=taille_".$i."></td>";
  21.          echo " <td><input type=text size='5' name=couleur[".$i."] id=couleur_".$i."></td>";
  22.          echo " <td><input type=text size='5' name=PCB[".$i."] id=PCB_".$i."></td>";
  23.          echo " <td><select name='fourn_princ[".$i."]' size='1' id=fourn_princ_".$i.">
  24.                  <option value=''></option>
  25.                  <option value='10'>1</option>
  26.                  <option value='20'>2</option>
  27.                  <option value='30'> 3</option></select></td>";
  28.          echo " <td><select name='devise_achat[".$i."]' size='1' id=devise_achat_".$i.">
  29.                  <option value='EUR' selected>EUR</option>
  30.                  <option value='20'>2</option>
  31.                  <option value='30'> 3</option></select></td>";
  32.          echo " <td><select name='devise_vente[".$i."]' size='1' id=devise_vente_".$i.">
  33.                  <option value='EUR' selected>EUR</option>
  34.                  <option value='20'>2</option>
  35.                  <option value='30'> 3</option></select></td>";
  36.          echo " <td><select name='famille[".$i."]' size='1' id=famille_".$i.">
  37.                  <option value=''></option>
  38.                  <option value='10'>1</option>
  39.                  <option value='20'>2</option>
  40.                  <option value='30'> 3</option></select></td>";
  41.          echo " <td><select name='licence[".$i."]' size='1' id=licence_".$i.">
  42.                  <option value=''></option>
  43.                  <option value='10'>1</option>
  44.                  <option value='20'>2</option>
  45.                  <option value='30'> 3</option></select></td>";
  46.          echo " <td><select name='univers[".$i."]' size='1' id=univers_".$i.">
  47.                  <option value=''></option>
  48.                  <option value='10'>1</option>
  49.                  <option value='20'>2</option>
  50.                  <option value='30'> 3</option></select></td>";
  51.          echo " <td><input type=text size='2' name=famille_remise[".$i."] id=famille_remise_".$i."></td>";
  52.          echo " <td><input type=text size='8' name=T1[".$i."] id=T1_".$i."></td>";
  53.          echo " <td><input type=text size='8' name=T2[".$i."] id=T2_".$i."></td>";
  54.          echo " <td><input type=text size='8' name=PVP[".$i."] id=PVP_".$i."></td>";
  55.          echo "</tr>";
  56. }
  57.                
  58. ?>
  59.        
  60.         </table>
  61.         <tr><td colspan="2" align="center"> <input type="submit" value="Valider"></td>
  62.         </tr></form>


Message édité par saxgard le 29-09-2003 à 13:54:01
Reply

Marsh Posté le 29-09-2003 à 13:54:52    


En php pour récuperer les valurs d'un formulaire apres le submit  , il suffit de dire $le_nom_du_champ  
 
mais j'ai l'impression qu'en ouvrant une autre page bin les variables et les valeurs des champs du formulaires ne sont plus valides.
 


Message édité par saxgard le 29-09-2003 à 13:55:59
Reply

Marsh Posté le 29-09-2003 à 14:09:11    

ou alors peut-on changer uen propriété de l'ojet window pour dire que la page  qui va subir l'action se fasse sur une autre page  :

Code :
  1. window.document.formproduit.action = 'produit_ajout_new.php';
  2. window.document.formproduit.submit();


 
 
window. ?self?  
 
 
 

Reply

Marsh Posté le 29-09-2003 à 14:21:35    

Saxgard a écrit :


En php pour récuperer les valurs d'un formulaire apres le submit  , il suffit de dire $le_nom_du_champ  
 


 
Ce n'est plus la bonne méthode, il faut passer par les tableaux de paramètres

Code :
  1. $lenomduchamp=$_GET["lenomduchamp"];
  2. $lenomduchamp=$_POST["lenomduchamp"];


 
Pour ton probleme, je ne vois pas pourquoi tu crée une nouvelle fenetre via window.open, il te suffit de soumettre le formulaire.  
 
Mais il te faudrait utiliser l'évènement onsubmit() plutôt que action.
 
DOnc tu fais plutôt,
 

Code :
  1. <form name="formproduit" method="post" action="produit_ajout_new.php" onsubmit="javascript:confirm_ajout();">



---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 29-09-2003 à 14:43:44    

Lord II a écrit :


 
Ce n'est plus la bonne méthode, il faut passer par les tableaux de paramètres

Code :
  1. $lenomduchamp=$_GET["lenomduchamp"];
  2. $lenomduchamp=$_POST["lenomduchamp"];


 
Pour ton probleme, je ne vois pas pourquoi tu crée une nouvelle fenetre via window.open, il te suffit de soumettre le formulaire.  
 
Mais il te faudrait utiliser l'évènement onsubmit() plutôt que action.
 
DOnc tu fais plutôt,
 

Code :
  1. <form name="formproduit" method="post" action="produit_ajout_new.php" onsubmit="javascript:confirm_ajout();">


 


 
oauis mais mon nom du cmap c'est : $cod_pro[$i]
par consequent si je fais  
$_GET["cod_pro[$i]"]
ou
$_GET["$cod_pro[$i]"]
 
ca marche pas
 
c'ets a partir de quel version qu'il faut utiliser cette method?
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed