Marche pas sous ie7

aurelbobol6 Messages postés 36 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 4 février 2009 - 4 févr. 2009 à 11:43
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 5 févr. 2009 à 18:33
Bonjour,

je débute sous java script..j'ai créé un petit tableau dynamique qui fonctionne très bien sous mozilla firefox mais pas sous ie7. Est ce que quelqu'un peut m'aider à trouver l'erreur pour mon code svp.. Merci d'avance

<HTML>
    <head>
        <script language='javascript' type='text/javascript'>

        var countName = 0;
      
        function addPerson ()
            {
                                rowRegister = document.createElement ('tr');

                                cellPerson = document.createElement ('td');
                                textPerson = document.createTextNode (prompt("Add Person","Person"));

                                cellPerson .appendChild (textPerson);

                                cellPresence = document.createElement ('td');
            cellPresence.setAttribute('align','center')

            /*textPresence = document.createElement('a'); 
             textPresence.setAttribute('href', 'javascript:addPerson()');
                                linkTextPresence = document.createTextNode ('');
            textPresence .appendChild (linkTextPresence);*/
           
            linkPicturePresence = document.createElement('img'); 
             linkPicturePresence.setAttribute('src', 'feu_rouge.gif');
            linkPicturePresence.setAttribute('name', 'homeButton' + countName);
            linkPicturePresence.setAttribute('border', '0');
            picturePresence = document.createElement('a');
            picturePresence.setAttribute('href', 'javascript:changeStatePresence(linkPicturePresence.src,linkPicturePresence.name)');
            picturePresence .appendChild (linkPicturePresence);

                                cellPresence.appendChild (picturePresence);

                                rowRegister .appendChild(cellPerson);
                                rowRegister .appendChild(cellPresence);

                                document.getElementById ('tabPresence').appendChild (rowRegister);
                            }

        function changeStatePresence (src,name)
            {
                                if(document.images["homeButton"].src=="feu_vert.gif")
                {
                prompt("MISE AU ROUGE",src + " " + name)
                document.images["homeButton"].src="feu_rouge.gif"
                }
            else
                {
                prompt("MISE AU VERT",src + " " + name)
                document.images["homeButton"].src="feu_vert.gif"
                }
                            }
              
                </script>
    </head>

   

               

        [# Add Person]
   
</HTML>

8 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
4 févr. 2009 à 11:54
bonjour,
setAttribute qui est différent dans les navigateurs
on vient d'en causer ici :
http://www.javascriptfr.com/forum/sujet-SETATTRIBUTE-NE-FONCTIONNE-PAS-COLOR_1264550.aspx

tu y verras que PetoleTeam conseille de n'utiliser setAttribute
qu'avec parcimonie... perso, comme je ne connais pas ce produit,
ce logiciel, j'évite de me servir de setAttribute, d'autant que
c'est beaucoup plus simple sans...

Cordialement.
0
aurelbobol6 Messages postés 36 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 4 février 2009
4 févr. 2009 à 13:40
Merci pour ta réponse mais j'ai toujours le même problème.. Voici mon nouveau code:

J' ai peut etre fait de nouveau une erreur ?

<HTML>
    <head>
        <script language='javascript' type='text/javascript'>

        var countName = 0;
      
        function addPerson ()
            {
            rowRegister = document.createElement ('tr');

                                cellPerson = document.createElement ('td');
                                textPerson = document.createTextNode (prompt("Add Person","Person"));

                                cellPerson .appendChild (textPerson);

                                cellPresence = document.createElement ('td');
            cellPresence.align = 'center';

            linkPicturePresence = document.createElement('img');
            linkPicturePresence.src = 'feu_rouge.gif';
            linkPicturePresence.name = 'homeButton';
            linkPicturePresence.border = '0';
           
            picturePresence = document.createElement('a');
            picturePresence.href = 'javascript:changeStatePresence(linkPicturePresence.src,linkPicturePresence.name)';
            picturePresence .appendChild (linkPicturePresence);

                                cellPresence.appendChild (picturePresence);

                                rowRegister .appendChild(cellPerson);
                                rowRegister .appendChild(cellPresence);

                                document.getElementById ('tabPresence').appendChild (rowRegister);
                            }

        function changeStatePresence (src,name)
            {
                                if(document.images["homeButton"].src=="feu_vert.gif")
                {
                prompt("MISE AU ROUGE",src + " " + name)
                document.images["homeButton"].src="feu_rouge.gif"
                }
            else
                {
                prompt("MISE AU VERT",src + " " + name)
                document.images["homeButton"].src="feu_vert.gif"
                }
                            }
              
                </script>
    </head>

   

               

        [# Add Person]
   
</HTML>
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
4 févr. 2009 à 13:52
c'est vrai que je n'ai pas regardé plus loin....
alors ajoute en tête devant <html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

par exemple ( car il y a d'autres possibilités )
ça devrait déjà aller mieux....

[mon Site][M'écrire]Bul
0
aurelbobol6 Messages postés 36 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 4 février 2009
4 févr. 2009 à 16:59
non ce n'est pas cela non plus.. :(

as-tu une autre idée ? stp

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
4 févr. 2009 à 17:35
ah bah... l'affichage au moins fonctionne !
j'ai testé avec IE8, mais bon pas de raisons avec IE7 à priori

pas le reste certes...

et toi ? l'affichage ok ou pas ?

[mon Site][M'écrire]Bul
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
5 févr. 2009 à 17:51
Bonjour,
ton nouvel enregistrement ne se crée pas
dans le TBODY de la TABLE,sous IExplorer, mais
après celui ci, fait un alert de TABLE.innerHTML pour voir...

Une
solution pas géante, dans ton code tu écris
<tbody
id='tabPresence'>

Il me semble
néanmoins, ou plus exactement handicapé nasal (*), plus judicieux d'utiliser les
standards DOM ...
...création des lignes et des colonnes avec les fonctions
insertRow() et insertCell() entre autres...
;O)
(*)honteux plagiat
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
5 févr. 2009 à 18:28
PetoleTeam++ c'était vrai avec IE7 et précédentes !
avec IE8... ça baigne tel que c'est là.
( et pour inserRow, inserCell ...
  c'est "bien plus simple" me semble-t-il ? )
@+
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
5 févr. 2009 à 18:33
<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">

----,

avec IE8... ça baigne tel que c'est
là.

</td>

</td>
</tr>
</tbody>
</table>c'est bien
dommage cette rigeur honorait IExplorer
;O)
0