bonjour tout le monde
en annexe d'un soucis php resolu dans un autre post j'avais demandé pourquoi ma comboliste ne fonctionne pas correctement, il me semble que le soucis ne venant pas finalement du code php je viens donc en parler dans la rubrique html
j'ai donc une partie de code html
puis l’exécution d'un fichier php legume3.php
dans lequel il renvoie une chaine avec des balises html pour un petit tableau qui présente les résultats du traitement
en dessous le nom du légume choisi
puis ma comboliste
j’exécute le scenario suivant:
1) on charge la page
avec le choix par defaut la tomate (valeur 0)
ensuite il ya donc le traitement et la présentation des résultats est correcte et correspond bien au choix 0
2) je choisi ensuite dans la combo liste par exemple le choix 3
la valeur 3 est récupèrée dans la partie php et traitement et présentation qui s'en suivent correspondent au choix 3
3) on choisi n'importe quel autre choix de la liste (autre que le premier)
tout se passe tres bien de manière totalement analogue à ce qui se passe au (2)
4) maintenant je veux de nouveau reprendre le choix 0, le premier
mais là plus rien ne se produit, le fichier php est pas executé, la page se rafraichie pas, elle reste dans l'etat du precedant choix,
comme si le onchange=submit() ne fonctionnait pas
je remarque autre chose et je ne sais pas si c'est normal ou non:
comme je l'ai dit la combo liste dans la page est affichée en dernier sous la présentation des résultats
pour effectuer un choix on clique sur la petite flèche a droite et la liste apparait, lorsque je choisis par exemple le 3, la liste disparait, le choix 3 apparait un court instant dans la fenêtre simplifiée de la combo liste puis on voit qu'il y a traitement rafraichissement du résultat et on revient à l'affichage de la combo liste qui dans la fenêtre n'affiche plus le choix 3 mais a nouveau le 0
Il me semble donc vu ce que je viens a l'instant de décrire qu'en effet ensuite onchange peut poser problème en voulant ensuite prendre le choix 0, étant donné qu'il est déjà dans la fenêtre
comment modifier mon code pour par exemple que le choix soit persistant une fois le traitement php fini lorsque la liste est de nouveau affichée en dessous?
merci d'avance à ceux qui pourront m'aider
ci apres les deux parties de codes
Code :
- <form method="post" action="" name="formu1">
- <DIV id="Layer1">
- <?php include("legume3.php" ); echo "<FONT COLOR=navy SIZE=2>".$vv[$GLOBALS['cvm']]."<BR>".$info[$legume[0]]."</FONT>"; ?>
- </DIV>
- <P>
- <select name="place1" id="place1" class="slegume" onChange="submit();">
- <option selected value="0"> La tomate</option>
- <option value="1"> le poireau</option>
- <OPTGROUP label=" ---------------" ></OPTGROUP>
- <option value="3"> Abricot</option>
- </select>
-
- </P>
- </form>
|
legume3.php
Code :
- <?
- header('Content-Type: text/html; charset=UTF-8');
- $cvm="";
- $buffer="";
- $info = array('La tomate'=>'Soleil','le poireau'=>'terre','Abricot'=>'arbre');
- $vv = array('La tomate','le poireau','Abricot');
- if (!isset($_POST["place1"]))
- {
- $cvm="0";
- $_POST["place1"]=$cvm;
- echo "<br>on est dans le IF et cvm=".$cvm;
- }
- $cvm=$_POST["place1"];
- echo "<br>on est apres et cvm=".$cvm;
- //----- traitement
- //----- presentation des resultats
- ?>
|