Ecriture d'un DIV -> Pb de compatibilité. [Résolu]

Signaler
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008
-
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008
-
Hi!

Bon alors voila, j'ai un petit probleme de compatibilité avec un petit code de JavaScript. Celui-ci prend le .<textarea>.value et l'écrit dans un div. Le probleme : Cela ne marche que sous Internet Explorer [A mort FireFox]. Bah voila le code [Afficher le code de la page x)] :
http://tablog.free.fr/chat/index.htm

Voila si quelqu'un sais... Merci ^^

18 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
j'ai commis une erreur :
un ch'tit exemple qui fonctionne avec FF et IE

la page principale :

remplir
document.getElementById('iddiv').innerHTML=ifrm.document.getElementById('txt').value;">commun IE FF

<script>
</script>

l'iframe :

<textarea name="txt"
id="txt">
exemple
</textarea>

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
>>A mort FireFox
peut-être pas là....
( pour une fois que je peux défendre FireFox... )
je préfère nettement IE aussi, mais ce que fait l'équipe de Mozilla est quand même formidable...

pour revenir au problème, difficile de voir, mais :
s'adresser à des name, FF n'aime pas toujours...
alors déjà mettre des id et utiliser document.getElementById("id de l'objet")...
la console javascript dit "xd.s2 n'a pas de propriétés" et un champs pour FF doit être
dans un form ou on y fait référence avec getElementById.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

J'ai fais quelque test, Il refuse pas de prendre le xd.S2.value [Enfin peut-etre], si je met document.getElementById("ejs_heure").innerHTML="azerty";

Sa marche tjs pas :[ Donc le probleme vient de l'écriture du div.

[Merci ^^]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
peut-on voir comment est décrit ce div ?
et l'instruction utilisée ?
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Désolé je suis un boulet ;D

J'ai resolu le probleme du DIV, FX aimais pas le document.getElementById("") donc j'ai mis document.all['']. Les div servent a réécrire les dialogues du chat.

Mais du coup, j'ai le probleme que tu disais au debut, j'arrive pas a recupéré le .<textarea>.value :[
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
getElementById aurait du fonctionner.
attention à document.all qui ne fonctionne pas partout.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

J'ai mis une condition.

if (document.getElementById) {
document.getElementById("").innerHTML = "";
}
else if (document.all) {
document.all['f1'].innerHTML = "";
}


Pour la frame tu as une idée ? ^^'
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
il faut un id !!!
document.getElementById("id_mis_sur_la_balise_div").innerHTML ="";
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Wi Wi mais je l'ai enlever pour l'example XD

Tjs pas pour l'iframe? ;P
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
donc pour le div ça baigne ???
pour l'iframe ? faire pareil ?
fait nous un extrait très simplifié :
page principale : iframe, div, script qui récupère le textarea de l'iframe vers le div
et l'iframe : textarea
tel que ça existerait...
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Page principal : Des divs qui prenent la valeur de textarea de la page 2, avec une iframe invisible
Page 2 : Les textarea, quand elle se load sa lance l'écriture des divs de la page principal. Elle se rafraichis toute les 5 secondes

Probleme : Le truc .<textarea>.value marche que sous IE ^^'
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

l'attirbut id ne doit pas commencer par un chiffre (et encore moins n'être qu'un chiffre).

M'étonnerait pas que Firefox se plie à cette norme, et m'étonnerait pas que IE ne s'y plie pas...
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Aucun commence par un nombre ;D
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Ah non? Alors pourquoi dans ton code, on trouve ça :

function HeureCheckEJS2()
{

if (document.getElementById) {
document.getElementById("3").innerHTML=xd.df.S2.value;
}
else if (document.all) {
document.all['3'].innerHTML = xd.df.S2.value;
}

??

;D
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>id ne doit pas commencer par un chiffre
>>M'étonnerait pas que Firefox se plie à cette norme, et m'étonnerait pas que IE ne s'y plie pas...
j'aurais parié la même chose que Malalam...
et après essai :

alert(document.getElementById("3").value);
curieux, mais ça marche avec IE et FF.

et c'est un bout de la source que nous montre Malalam
donc document.getElementById("3").innerHTML=document.getElementById("???").value;
et inutile de faire un test sur getElementById, ça marche pour tous (?)

Cordialement. Bul. ~
Mon Site qu'il est à Moi ~
<FO>
</FO>
</S< body>
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Merci! X)
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Sorry, je suis un boulet mais j'ai un nouveau probleme ^^'

J'ai :

if (document.getElementById) {
document.getElementById('a2').innerHTML=unescape(xd.document.getElementById('S1').value);
document.getElementById("a3").innerHTML=xd.document.getElementById('S2').value;
document.getElementById("a4").innerHTML=xd.document.getElementById('S3').value;
document.getElementById("a5").innerHTML=xd.document.getElementById('S4').value;
}
else if (document.all) {
document.all['a2'].innerHTML =unescape(xd.document.getElementById('S1').value);
document.all['a3'].innerHTML = xd.document.getElementById('S2').value;
document.all['a4'].innerHTML = xd.document.getElementById('S3').value;
document.all['a5'].innerHTML = xd.document.getElementById('S4').value;
}

Et :

<td width="18%" valign="top">

</td>
<td width="82%" valign="top">

</td>
[...]
<td width="18%" valign="top">

</td>
<td width="82%" valign="top">

</td>

Tous marche sauf le "a5" & le "S4"

Mais je trouve absolument pas pourquoi.
Messages postés
28
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
19 mars 2008

Non c'est bon désolé :S