begin process at 2012 05 29 11:47:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

IE mon amour ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

IE mon amour ...

jeudi 8 novembre 2007 à 17:17:02 | IE mon amour ...

caviar

saluté, 
 pfff ... j'en peux plus ... Je crois que je vais partir me jeter d'un pont ...

vous pouvez m'expliquer pourquoi ça ça marche sous FF et pas sous IE

    var td = tr.getElementsByTagName('td');
           
td[3].childNodes[1].selectedIndex = 1 ;

(dans mon TD3 j'ai un SELECT)

et sous IE j'ai le message
'td.3.childNodes.1' a la valeur NULL ou n'est pas un objet

je comprends plus rien :(
@++ et merci pour tout ...
jeudi 8 novembre 2007 à 17:27:12 | Re : IE mon amour ...

Zobibol

Membre Club
Re moi re bonjour...

En effet erreur inévitable :
    Combien as tu de td dans ton tr ?
        4 oui !!! c'est gagné 3 oups !
    Dans ton 4 ième td tu n'as qu'un select ?
       oui !!!! youpi c'est regagné !
il ne faut pas oublier que les array commencent  à 0 ...
test donc

si tu as 4 td alors

 var td = tr.getElementsByTagName('td');
    td[3].childNodes[0].selectedIndex = 1 ;

si tu n'as donc que 3 td
 var td = tr.getElementsByTagName('td');
    td[2].childNodes[0].selectedIndex = 1 ;

[o-_-o]
vendredi 9 novembre 2007 à 06:31:03 | Re : IE mon amour ...

bultez

Membre Club
Réponse acceptée !


Bonjour,

<body>
<table name="t" id="t">
    <tr>    <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>    <select>
                        <option>un
                        <option>deux
                        <option>trois
                    </select></td></tr>
</table>
<script type="text/javascript">
var tab=document.getElementById("t");
var tr=tab.getElementsByTagName('tr')[0];
var td = tr.getElementsByTagName('td');
td[3].childNodes[0].selectedIndex = 1 ;   // pour IE
td[3].childNodes[1].selectedIndex = 1 ;   // pour FF

</script>
</body>


mais, entre nous, tu ne te compliquerais pas la vie ?

il y a sûrement beaucoup plus simple pour accéder à ce select !


                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 9 novembre 2007 à 09:19:56 | Re : IE mon amour ...

caviar

    OK je vais tester ça ... mais c'est quand même la misère que les indices de tableaux soient différents entre IE et FF ...
moi ça me déprime... enfin bon on a pas le choix ...
si j'accède à mon select comme ça c'est qu'en fait dans le contexte de ma page je n'ai pas d'ID ...
si tu veux j'ai un formulaire dans lequel je peux ajouter autant de lignes que je veux qui sont la copie conforme d'une première ligne mère ...
donc quand je veux accéder à un des éléments d'une ligne fille ben je suis obligé de jouer avec les indices :(:(
enfin je crois ...
du moins du haut de mon modeste niveau ...
merci à vous !
@+
vendredi 9 novembre 2007 à 09:39:46 | Re : IE mon amour ...

caviar

bon ça marche ... une fois de plus grand merci !!

    tu crois que je peux déclarer une variable globale pour l'ensemble de mes scripts
genre
if (ie) global var offset = -1 else var offset = 0
et l'utiliser indiferement dans tous mes scripts ...
td[3].childNodes[offset+1].selectedIndex = 1 ;   // pour FF et IE du coup

vendredi 9 novembre 2007 à 09:56:11 | Re : IE mon amour ...

bultez

Membre Club
>>tu crois que je peux déclarer une variable globale
    si childNodes[0] existe prendre 0 , sinon prendre 1

    tu es sûr d'être obligé de passer par ce système pour accéder à ce select ?


                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 9 novembre 2007 à 10:02:40 | Re : IE mon amour ...

bultez

Membre Club
peut-être document.getElementsByTagName("select")[0]
si ni id, ni name...

                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 9 novembre 2007 à 10:26:50 | Re : IE mon amour ...

caviar

    oui peut être ... je vais essayer ...
ça ça marcherai sur tous les navigateurs c'est ça ?

je crois que 'javais essayé ça
var td = tr.getElementsByTagName('td');
td[3].getElementsByTagName('select');

mais ça ne marchais pas ...

thx
@++
vendredi 9 novembre 2007 à 12:23:30 | Re : IE mon amour ...

PetoleTeam

Membre Club
Bonjour,

Le probléme vient de la façon qu'on les explorateurs de gérer le Noeud Text Vide...

IE
ignore les noeuds text vide mais pas FireFox.

Dans ton cas childNode[0] correspond a un nodeName "SELECT", donc un nodeType 1, sous IE et à un nodeName "#text", donc un nodeType 3, sous FF.

La façon d'écrire tes lignes génére ou non un #text sous
FF .

Exemple:
<tr><td><select>....</select></td></tr>
...ne génére pas de #text sous
FF

<tr>
#text
  <td> #text
    <select>....</select>
#text
  </td> #text
</tr>
..en génére.

Si tu veux que le code marche pour les deux, dans ton contexte, alors
- concaténe tes lignes sans espace, exemple #1 ci dessus
- supprime les noeuds vide avant utilisation de childNode[0]

Nota :
le même problème est souvent rencontré lors que l'on lit une réponse issu d'un fichier XML

 
;0)
vendredi 9 novembre 2007 à 13:37:47 | Re : IE mon amour ...

bultez

Membre Club
>>IE ignore les noeuds text vide mais pas FireFox.
    voilà, PetOleteam a parfaitement expliqué le pourquoi de la chose
>>
...ça ça marcherait sur tous les navigateurs...
       tu parles document.getElementsByTagName("select")[0]   ?
       ===>  à l'index près ( [0] c'est le 1er select )
       sur la plupart des versions qui ne datent pas de la guerre 14 en tous cas
       aussi bien (!?!) que childNodes en tous cas aussi !

                Cordialement            Bul         [mon Site]     [M'écrire]


Cette discussion est classée dans : ie, td, childnodes, amour


Répondre à ce message

Sujets en rapport avec ce message

Problème de compatibilité Netscape / IE [ par Ubrald de Haleth ] Bonjour à tous,J'ai actuellement un soucis de programmation. Le voici :Existe t-il une programmation de la fonctionnalité "Faire de ce site web ma pag reload sur window.opener [ par booth ] bonjour!voilà, je dévellope sous IE 5.5 et lorsque j'utilise la commande window.opener.reload() ca marchemais sur les autres postes ayant IE 5.0 ça ne Equivalant de innerWidth et innerHeight sur IE [ par kossdav ] Salut,Je cherche un moyen de connaitre la largeur et la hauteur de l'espace d'affichage situe dans la fenetre du navigateur client. Sur Netscape j'uti IE Mac print() [ par BenLaKnet ] Comment est il possible d'imprimer une page tout ce qu'il y a de plus normal en Javascript.self.print() window.print ne marchent pas sur IE Mac 5.01 n pop-up sous netscape [ par kaa ] j'essaie de trouver un code qui me permette d'ouvrir une pop up sous ie et netscape. j'utilise ce code :xxx< PB de rechargement de frame ac Ie [ par lullabee ] Bonjour,J'ai une page internet avec plusieurs frames : ac Netscape qd je recharge, il n'y a pas de pb : tout les frames sont recharges avec les pages differences entre netscape et ie [ par vingran ] salutje cherche un site ou kelqu'in ki pourait me donner toutes les différences qu'il y a entre les scripts netscape et internet explorer.cele m'aider Dl de fichiers , Faille IE [ par T0cSy ] Je voudrais savoir comment faire telecharger un fichier a une personne sans quel ne s'en rende compte ... merci d'avance .. desactiver menu IE ?? [ par hgrandsart ] hgrandsartBonjour et bonne année à tous et toutesComment désactiver le menu principal d'IE et/ou Netscape en javascript svp merci d'avance Coordonnées d'une image [ par jeanne38 ] Bonjour,J'aimerais récupérer les coordonnées d'une image sous IE.Sous Netscape, j'utilise la propriété y et ça marche :document.mon_image.y me retourn


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,825 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales