Page 1 sur 1
garder des valeur sur mon formulaire
Posté : 05 juil. 2005, 14:07
par donny
salut,
J ai un formulaire dans lequel j ai 2 liste deroulante et donc sur l evenement on change de ma liste j adapte le contenu de la 2eme liste en fonction du choix sur la 1ere liste.
Sur ce formulaire j ai des zone texte et le truc c est que quand je rentre des valeur dans ces zone t exte et qu ensuite je choisi un element dans la liste deroulante à ce moment la , les valeurs contenu dans les zone texte s efface, vu qu il y a un evenement on change, et j aurai aimé savoir comment faire pour pouvoir les garder ??
j ai essayer avec des variables de session,
mais sa fonctionne pas trop vu qu il faut un submit pour alimenter mes variables de session.
$_SESSION['1']=$_POST['nums'];
echo $_SESSION['1']."<br>";
//$_SESSION['1']=$_POST['numc']."<br>";
$_SESSION['2']=$_POST['numi'];
echo $_SESSION['2']."<br>";
$_SESSION['3']=$_POST['comm1'];
echo $_SESSION['3']."<br>";
$_SESSION['4']=$_POST['comm2'];
echo $_SESSION['4']."<br>";
$_SESSION['5']=$_POST['liv'];
echo $_SESSION['5']."<br>";
$_SESSION['6']=$_POST['prix'];
echo $_SESSION['6']."<br>";
$_SESSION['7']=$_POST['sit'];
echo $_SESSION['7']."<br>";
$_SESSION['8']=$_POST['ret'];
echo $_SESSION['8']."<br>";
$_SESSION['9']=$_POST['numcontr'];
echo $_SESSION['9']."<br>";
$_SESSION['10']=$_POST['fin'];
echo $_SESSION['10']."<br>";
Merci
Posté : 05 juil. 2005, 14:10
par zeus
de plus, tu ne peux pas instancier et utiliser une variable de session dans le même script
si tu fait
$_SESSION["toto"] = $_POST["toto"];
Tu ne peux pas faire
echo $_SESSION["toto"];
juste après
Posté : 05 juil. 2005, 14:14
par donny
je suis bien obliger de le faire pour voir le contenu de ma variable
Posté : 05 juil. 2005, 14:16
par zeus
Ah bon ?
Et si tu faisait ça :
$_SESSION['1']=$_POST['nums'];
echo $_POST['nums']."<br>";

Posté : 05 juil. 2005, 14:18
par zeus
Je viens de relire ton post et si tu veux conserver des données lors d'un onChange, il va falloir utiliser du JS
Ce que je ne comprend pas, c'est pourquoi tes inputs sont vidés
Tu passes par du PHP ?
Posté : 05 juil. 2005, 15:12
par donny
en faite c est un formulaire de saisi
et donc au chargement il est vide,mais le truc c est que dans ce formulaire t a des liste deroulante avec des evenement onchange, et suffit de choisir un element de la liste et sa efface tout les champs.
Sur d autre formulaire, sa pose pas de probleme car au chargement mes zone texte ne sont pas vide et donc je n ai qu a les stocker dans des variables de session et c nikel
mais la
et si j utilise javascript cela signifie que je devrais recuperer le contenu de mes zone texte dans des variables javascript et les passer ensuite dans l url ?
Posté : 05 juil. 2005, 15:16
par mere-teresa
de plus, tu ne peux pas instancier et utiliser une variable de session dans le même script
si tu fait
$_SESSION["toto"] = $_POST["toto"];
Tu ne peux pas faire
echo $_SESSION["toto"];
juste après
Pourquoi donc ?
Posté : 05 juil. 2005, 15:17
par zeus
Le truc que je comprend pas, c'est que quand il sélectionne une valeur dans une liste, est-ce que tu passes par du php ou est-ce que tu fait tout en JS ?
Posté : 05 juil. 2005, 15:19
par zeus
de plus, tu ne peux pas instancier et utiliser une variable de session dans le même script
si tu fait
$_SESSION["toto"] = $_POST["toto"];
Tu ne peux pas faire
echo $_SESSION["toto"];
juste après
Pourquoi donc ?
Parce que dans certains cas, les serveurs ne reconnaissent pas la variable
Je ne sais plus pour quelle(s) raison(s) mais un de mes profs m'a dit ça l'année dernière et j'avoue que j'ai pris ses paroles comme benies et que je n'ai pas testé autrement. Surtout qu'on peut toujours faire autrement

Posté : 05 juil. 2005, 15:23
par donny
ma liste deroulante c est en JS, je recupere à l aide de cela la valeur de la value de la liste dans l url.
Et je pensai que quand je rechargais ma page à l aide d un onchange,sa alimentait mes $_POST.
mes liste se prensente comme cela
// on crée la requête SQL
$sql = "select type_objet from familles order by type_objet";
$res=pg_query($sql);
?>
<select name="fam" onChange="location.href='<?php echo $_SERVER['PHP_SELF'] ; ?>?fams=' + this.value">
<option>--Famille--</option>
<?
while($list=pg_fetch_array($res)){
?>
<option value="<?php echo ($list['type_objet']);?>" <? if(@$_SESSION['famis'] == $list['type_objet']){echo(" selected=\"selected\"");}?>><?php echo ($list['type_objet']); ?></option>
<?php
}
?>
</select>
</td>
Posté : 07 juil. 2005, 10:31
par donny
c est possible de mettre un evenement onchange sur la zone texte comme cela je procederai comme avec les liste deroulante je recupererai le contenu de la zone texte dans l url et je le stockerai dans la variable de session ??
Posté : 07 juil. 2005, 10:35
par mere-teresa
c est possible de mettre un evenement onchange sur la zone texte comme cela je procederai comme avec les liste deroulante je recupererai le contenu de la zone texte dans l url et je le stockerai dans la variable de session ??
Pourquoi tu n'essaies pas ?
Posté : 07 juil. 2005, 10:51
par pjl
Une remarque au passage,
tu ne veux pas utiliser des noms de session plus parlant ?
$_SESSION['1']
Posté : 27 juil. 2005, 14:22
par donny
j ai penser a faire quelquechose dans ce genre
<select name="marq" onChange="location.href='<?php echo $_SERVER['PHP_SELF'] ; ?>?marqs=' + this.value + '&mod=' + document.creation.mod.value ">
ensuite je recupere la variable dans l url a l aide d un $_GET et je la stocke dans une variable de sessions.
Mais sa ne fait pas un peu trop lourd de mettre plusieurs variable dans l url ?
j en ai une douzaine ?
Posté : 27 juil. 2005, 15:30
par donny