Problème de css pour un formulaire

Fermé
romsrc - 24 févr. 2010 à 15:44
 romsrc - 25 févr. 2010 à 14:47
Bonjour à vous,
Je travaille en entreprise pour la refonte d'un site internet et je doit faire un formulaire pour des demandes de travaux. Le formulaire était géré en php et fonctionnais grâce a des Valeur en GET pour gérer le contenu de mon formulaire.
Je dois le remplacer par une seule page qui ne se recharge pas à chaque sélection et j'ai donc choisi d'utiliser du javascript et du css.
Seulement voila mon code marche très bien sous firefox mais pas sous ie.
Toute mes balises <option> qui sont par défaut en display:none s'affichent ma question est pourquoi et y a t'il un moyen d'y changer en sachant que visibility:hidden n'a aucun intérêt dans mon cas.

exemple de code:

<select><option >choisir un élément</option>
<option style="display:none">1</option>
<option style="display:none">2</option>
<option style="display:none">3</option>
<option style="display:none">4</option>
<option style="display:none">5</option></select>

Merci de votre aide

2 réponses

Utilisateur anonyme
24 févr. 2010 à 16:17
Bonjour,

Au lieu de mettre un "display:none" sur toutes tes <option> tu pourrais mettre un <select disabled> et enlever le "disabled" en javascript sur l'evenement "onchange"
1
re,
j'ai essayé aussi ça ne fonctionne pas mieux et en plus ça ne me cache plus mes options sous firefox elle sont affichées et gelées et ce n'est pas le résultat voulu
0
Le plus simple est d'utiliser le JS directement pour ajouter les options.
Comme tu utilise PHP pour générer le contenu tu a juste a faire un boucle qui appel la fonction et hop ton select est remplie.

<form id="mon_form">
    <select id="mon_select">
      <option >choisir un élément</option>
    </select>
  </form>
  <script type="text/javascript" >
    var objtselect = document.forms.mon_form.mon_select; 
    var dmc = document.createElement("option"); 
    dmc.text = "Nouvelle" ; 
    dmc.value = "Nouvelle"; 
    if(!document.all){ 
      before= objtselect.options[1]; 
    }else{ 
      before=1; 
    } 
    objtselect.add(dmc,before);
  </script>
0
romsrc > Double Yo
25 févr. 2010 à 14:47
Oui j'y avais pensé aussi mais mon contenu à l'intérieur des balise est genérer avec une lecture de base de donnée en php et j'ai peur que ce soit un peu lourd et compliquer ensuite pour le réutiliser ou mettre à jour le formulaire sans revenir au code .

De plus je viens après beaucoup de recherche de tomber sur un cas similaire ou la réponse est que ie tout simplement ne prends pas d'évènements sur les options !

(https://forum.hardware.fr/hfr/Programmation/HTML-CSS-Javascript/montrer-partir-option-sujet_117829_1.htm

Je croit que le plus simple est de créer plusieurs balise select et afficher la bonne en fonction du choix précèdent plutôt que de m'entêter a vouloir tout mettre dans une seule balise et afficher seulement les options dont j'ai besoin ce sera plus lourd mais fonctionnel.

Voila.

merci encore a double yo et meuhda qui ont bien voulu se pencher sur mon problème.
ps: j'aurai bien voulu fermer le topic mais je ne suis pas inscrit sur ce forum et je n'ai donc pas accès à mon premier message dsl.
0