Page 1 sur 1

Code qui ne marche pas sur IE

Posté : 07 mai 2008, 12:45
par Xvider
Bonjour a tous,

Je comprend pas bien mon souci en fait.

Mon code fonctionne parfaitement sur Mozilla, mais sur IE7 pas moyen.

Dites moi si vous voyez l'erreur parce que là je ne voi absolument pas quoi faire.

Code : Tout sélectionner

function nbpage() { nbpages = document.getElementById('nbpages').value; if ((nbpages%2)==1) { document.getElementById('typefeuilles')[2].style.display="none"; if (document.getElementById('typefeuilles')[2].selected==true) { document.getElementById('typefeuilles')[2].selected=false; document.getElementById('typefeuilles')[1].selected=true; } } else { document.getElementById('typefeuilles')[2].style.display=""; } }
Merci par avance

Posté : 07 mai 2008, 13:40
par Ryle
double clique sur le triangle jaune en bas à gauche de IE pour avoir le message d'erreur ;)
Les éléments auxquels tu fait référence ont-ils bien été définis dans le code avant l'appel à ta fonction ?

A mon avis, IE ne doit pas soir gérer la syntaxe getElementById('...')[...]
Essaye de la décomposer :

Code : Tout sélectionner

var elt = document.getElementById('typefeuilles'); elt[2].style.display="none";

Posté : 07 mai 2008, 13:42
par Cyrano
Comme tu ne dis pas ce qui devrait arriver, on aura du mal à te dire comment y arriver et ton code n'est pas suffisamment explicite pour ça :-k

Un détail toutefois : tu pointes à priori sur un élément de formulaire avec "document.getElementById('nbpages').value;" : il serait préférable d'utiliser une syntaxe propre à la manipulation de données de formulaires avec : "document.forms.idDeTaBaliseForm.elements.nbpages.value;"

Posté : 07 mai 2008, 14:29
par Xvider
En fait l'element est un SELECT qui réagi a un choix précédent.

Suivant le choix je veu que mon select n'affiche pas toute les options mais seulement une sur deux.

Sur Mozilla aucun souci mais sur IE ça ne marche pas du tout

Voici le code html qui va avec :

[php]
<tr>
<td class="right">Impression des feuilles</td>
<td class="left">
<?php
//tu parcours toutes les valeurs mémorisés
$rs=mysql_query("SELECT * FROM dev_modeimpression");
if ((mysql_num_rows($rs))!= 0)
{
//création du select avec le nom correspondant à la variable de session
echo("<select id=\"typefeuilles\">\n<option>Veuillez Choisir un Type d'impression</option>\n");
//là tu insère tes options
while ($row=mysql_fetch_array($rs))
{
?>
<option value="<? echo $row['LibModeImpression']; ?>" <? if($_SESSION['typefeuilles']==$row['LibModeImpression']){ echo("selected=\"selected\""); } if(isset($_SESSION['nbpages']) && (($_SESSION['nbpages'])%2==1) && ($row['LibModeImpression']!="Recto")){ echo("style=\"display:none\"");} else {echo("style=\"display:\"\"\"");}?>><? echo $row['LibModeImpression']; ?></option>
<?
}
echo("</select>");
}?>
</td>
</tr>
[/php]