Menu dynamique Ok pour Mozilla, pas bon pour IE

Bonjour

Je suis en train d’essayer de coder pour ma boite un menu dynamique javascript, il fonctionne tout bien sous Moz, mais IE rechigne, il pretend que ma variable ‘rub’ n’existe pas.

[edit]
Excuser moi pour cet etalage de code, je pense qu’il est necessaire pour m’aider…
[/edit]
[re]
Html interprete…
[/re]

Je commence pourtant par l’initialiser :

rub = new Array();
for (i=0; i<=999; i++)
 {
 rub[i] = “”;
 }

Ensuite, je remplis le tableau :

rub[10] += ’ [a class=“niveau2” href=" java script:ouvre(102)">
 Extraction et agglomération du lignite
</a] [ input name=“naf” type=“checkbox” value=“102”> [DIV ID=“rubrique102” STYLE=“position:relative”][/DIV>’;

‘;
rub[11] += ’ [idem …]
’;
rub[11] += ’ […]
’;
rub[12] += ’ […]
’;

Et je fais appel à tout ca dans mon menu:

[a class=“niveau1”  href=“java script:ouvre(10)”>
10  Extraction de houille, de lignite et de tourbe
[/a>
[input type=“checkbox” name=“naf” value=“10”>
[DIV ID=“rubrique10” STYLE=“position:relative”>

[a class=“niveau1”  href=“java script:ouvre(11)”>
11  “Extraction d’hydrocarbures ; services annexes”
[/a>

[DIV ID=“rubrique11” STYLE=“position:relative”>

[/quote](les div sont la pour accueillir le sous-niveau du menu )

Grace à des fonction d’ouverture/fermeture du bazar.

function fermer(e)
{
document.getElementById(“rubrique”+e).innerHTML = ‘’;
document.getElementById(“rubrique”+e).style.position = ‘absolute’;
}
function ouvre(n)
{
document.getElementById(“rubrique”+n).style.position = ‘relative’;
  if(top[n] != 1)
 {
document.getElementById(“rubrique”+n).innerHTML = rub[n] ;
 top[n] = 1;
 }
 else
 {
 fermer(n);
 top[n] = 0;
 }

Et voila, je commence à desesperer, et à la fois, c’est plutot flateur de faire du code OK pour Moz, meme si IE est pas trop d’accord…

Ce message a été édité par jbaptiste le 29/07/2004

Petit Up ! pour les geeks de la nuit (qui sont meilleurs que ceux du jour, parait-il…enfin je dis pas ca car c’est à eux que je m’adresse ) , demain je repart au boulot, et je vais devoir trouver une solution cette fois…

Tu ne pourrais pas nous donner une page de test où on pourrait voir exactement ce qu’il se passe ?
Parce que j’aimerais bien voir ton code en entier si c’est possible missieu.

bon je capte pas trop ton code
mais je te propose ça en échange (ou une aile avant de CX)
http://openweb.eu.org/articles/menu_universel/
J’ai utilisé ce type de men pour mon site et ca passe partout

mmh. var machin = bidule, c’est plus propre que machin=bidule qui si jeune mabuse ne déclare que très localement.

[quote]mmh. var machin = bidule, c’est plus propre que machin=bidule qui si jeune mabuse ne déclare que très localement.[/quote] Effectivement, ca marche mieux comme ca…
/me prends son sac d’orties et se flagelle allegrement

Et un gros up! un.

Comme je le disais plus haut, mon problème est résolu en gros, mais un nouvelle embuche se dresse (le poil):
Sous IE, je peut de-rouler et re-rouler mon menu, mais lors du re-de-roulage, les checkbox n’apparraissent plus, elle ont disparu (merci pour les artistes, rimes pas cheres powered). Je dois alors tout re-en-rouler puis tout re-de-rouler pour avoir ce que je veux, c’est à dire une liste à plusioeurs niveaux avec des checkbox, que faire?

(peut etre un exemple du bazar ca peut vous aider … )

(… sous Moz, toujours pas de problèmes…)

(d’autre part, si quelqu’un à une idée de la maniere de recuperer les cases cochées, je suis interessé, je suis parti un peu vite dans le projet, et la ca se corse -non, pas de chef lieu, je n’ose pas- )

Merci

Bon, pour recuperer les cases cochées, il va te falloir un formulaire qui englobe ton menu.
J’ai un un petit frisson dans le dos au moment où j’ai commencé a lire ton code, maintenant, je sais mieux pourquoi.
Comment on peu utiliser des checkbox sans un formulaire qui les englobe ?
Et surtoit, il faudrait donner des noms différents a tes checkbox en fonctions de ce que tu veux en faire.

A vue de nez, il faudrait voir combien de checkbox tu veux recuperer.

  • 1 checkbox ( on va les appeller CB, j’ai la flemme) et seulement une. C’est a dire que l’on ne peu en cocher qu’une seule sur la multitude de possibilité.
    Dans ce cas précis, un seul nom pour toutes les CB est valable. Il suffit d’ajouter un bouton submit ou un onSubmit sur un lien…

  • Plusieures CB dans un MEME menu ?
    Ecrire un formulaire par menu et un nom de CB par menu (gros menu hein)

  • Ou plusieures CB dans différents menus.
    Alors là, un nom par CB et un formulaire général.

Bon, pour ton problème sous IE j’ai pas trop d’idées. Peut etre que si tu mettais un formulaire autour de tout ton code, ça irai mieux.

[quote]Bon, pour recuperer les cases cochées, il va te falloir un formulaire qui englobe ton menu.

  • Plusieures CB dans un MEME menu ?
    Ecrire un formulaire par menu et un nom de CB par menu (gros menu hein)

Bon, pour ton problème sous IE j’ai pas trop d’idées. Peut etre que si tu mettais un formulaire autour de tout ton code, ça irai mieux.[/quote] Oui, donc pour les balises form, t’inquiète pas, c’esdt prevu, juste qu’actuellement je bosse plutot sur le menu.
Il s’agira de recuperer les differentes valeurs correspondant attribuées aux checkbox pour un seul nom de variable, j’avais vaguement entendu parler d’un tableau de valeurs, je suis pas certain du tout.

// retour à la lutte: js (1 point) - jb(0 point)