formulaire html et liste déroulante, problème avec l'option par défaut

formulaire html et liste déroulante, problème avec l'option par défaut - HTML/CSS - Programmation

Marsh Posté le 02-03-2008 à 15:10:12    

bonjour,
 
j'ai fait une petite liste déroulante en html grace aux balises form select et option
 
dans l'option par defaut j'ai rajouté selected comme attribut afin de la fixer comme optin par defaut
 
pour tester, mes pages, j'ai ma disposition
1- Internet Explorer 6 sous windows 98
2- Internet Explorer 7 sous windows XP
3- netscape8 sous windows XP
 
pour ce dernier, il permet un affichage selon Firefox, ou selon IE
 
Mon problème est le suivant:
Pour cette page test de formulaire, j'obtiens le comportement suivant concernant l'option par defaut
 
une fois le navigateur choisi le scenario est le suivant:
A-j'ouvre la page test    
            ---> affichage image defaut, dans le formulaire nom de la valeur du choix formulaire
B-je modifie une option, en choisissant une autre option
            ---> modification image par celle associée au choix, dans le formulaire nom de la valeur du choix formulaire
 
C-je recharge la page (par acutaliser ou F5)
            ---> affichage image defaut, dans le formulaire nom de la valeur qui s'affiche est:
 
 
dans les environnments 1- et 2- (soit sous IE) le texte compris entre les balises <option selected> et </option>  
 
dans l'environnment 3- en choisissant un affichage selon IE, idem que precedement
                               en choisissant un affichage selon Firefox
 
l'image est bien celle associée au choix par defaut (normal c'est un programme qui le fait) par contre le texte, correspond
 
à celui de l'option choisie en B

 
 
Quelles sont les raisons syntaxiques qui peuvent produire auxquelles vous pensez qui porraient expliquer ce comportement, et comment le corriger?
 
pour info, le DOCTYPE au debut est  
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
 
la balise <Form>est :
<form method="post" action="" name="formu1"> avec une fin </form>
 
la balise <select> est
<select name="place1" class="sme" onChange="change1();"> avec une fin </select>
 
les balises options sont:
<option selected>&nbsp;toto</option>
<option>&nbsp;tata</option>
 
MERCI beaucoup a tout ceux qui pourront m'aider à dépaner cette bizarrerie qui je suppose se produit aussi sous environnment firefox pure
 
ce qui donne cette structure:
 
<form method="post" action="" name="formu1">  
 
        <DIV id="Layer1">
  <?php include("prog_image.php" ); ?>
 </DIV>
 <P>
 <select name="place1" class="sme" onChange="change1();">  
 
 <option selected>&nbsp;toto</option>  
 <option>&nbsp;tata</option>  
 <OPTGROUP label="&nbsp;---------------" ></OPTGROUP>
 <option>&nbsp;titi</option>
 <OPTGROUP label="&nbsp;---------------" ></OPTGROUP>
 <option>&nbsp;tutu</option>
 
 </select>  
   
 
 </P>  
</form>
 
 
 
Si vous souhaitez d'autres infos pour m'aider demandez je verrai ce que je suis capable d'apporter comme précisions suivant l'avancement de mes connaissances
 
 

Reply

Marsh Posté le 02-03-2008 à 15:10:12   

Reply

Marsh Posté le 03-03-2008 à 15:30:53    

Reply

Marsh Posté le 03-03-2008 à 17:53:14    


XHTML!

Code :
  1. <option selected="selected">&nbsp;toto</option>

Reply

Marsh Posté le 04-03-2008 à 00:16:48    

merci de m'avoir repondu forzayalta, j'ai donc rajouté ="selected" qui manquait d'apres ce que tu me dis
 
mais ca n'a rien changer (j'ai pas tenu compte de "XHTML!" ) est ce que il faut que je modifie aussi mon DOCTYPE????
 
ou le problème est ailleurs?

Reply

Marsh Posté le 04-03-2008 à 06:26:45    

c'est un comportement naturel de firefox, quand tu fais F5 sur des champs que tu as prérempli ou présélectionné, ils se remettent dans l'état ou tu les avais mis après un F5.
 
tu peux forcer leur "remise à zéro" via du JS sur l'évènement onload de la page, mais il n'y a pas d'autre solution.
 
Un conseil, laisse  ce truc tranquille, ne change surtout pas l'habitude des utilisateurs

Reply

Marsh Posté le 04-03-2008 à 15:08:28    

ok j'ai noté le comportement, merci beaucoup Gatsu35
 
 
Sauf que dans mon cas le choix dans le formulaire modifie par programme le comportement de la DIV et le nom (toto, tata etc...) qui apparait comme option en cours doit correspondre à l'image (qui change suivant le choix du formulaire, et aussi dans le temps).  
 
Si on rafraichie la page par F5 (car dans le temps l'image change aussi)le programme met l'image pour le cas par defaut en fonction de l'heure dans la journée, ca c'est ce que je souhaite faire), car la page est à ce moment rechargée et ce comportement de Firefox que je trouve moi absurde desynchronise alors l'association de l'image avec le titre qui apparait dans le formulaire.
 
Ca n'a rien a voir avec les habitudes des gens. Si on fait F5 sur une page c'est justement pour rafraichir les informations qui peuvent changer sur cette page au cours du temps. A partir du moment ou c'est moi qui decide du comportement de la page a son ouverture c'est a dire un cas par defaut pour le type d'image et un cas par defaut pour la liste deroulante les deux en association,  
il doit en etre de meme pour un rafrachissement
 
je vais voir si je peux arriver a le forcer comme tu me l'indiques avec l'évènement onload
 
je suppose qui faut mettre cet évènement dans la balise body ou bien je peux la mettre dans la div en question ou le formulaire qui l'englobe?
 
si c'est dans body, est ce que dans le script que j'associe  a cet evenement je peux ecrire un truc du genre
 
document.formu1.place1="&nbsp;toto";

Reply

Sujets relatifs:

Leave a Replay

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