Mon IF ne veut rien savoir

Fermé
Malko-Bordeaux - 11 oct. 2008 à 22:40
 Malko-Bordeaux - 11 oct. 2008 à 23:39
Bonjour,
Apres lecture de pas mal de pages sur une question aussi #@X%# que la fonction IF, je finis par vous poser mon desespoir :'(

Contexte :
1 page html avec un glossaire qui sur des liens href renvoie a une autre page, vers une ancre precise...

mapage.html#1 sera mon url pour l'exemple ...

le but est de changer le bgcolor de l'ancre qui a ete selectionnée ( ou au moins du <td> )...

J'ai essaye 36 codages differents et a la fin j'obtiens ca ...

<html>
<head>
<SCRIPT language=javascript >

function recupAncre() {
url = window.location.href;
var exp=new RegExp("#?+","g");
var tabNom=url.split(exp);

return tabNom[1];
}
var nom_ancre = recupAncre();
function editTd() {
document.write("<td");
if ( parseInt(nom_ancre)=="1") {
document.write(" bgcolor="#FF0000 ");
}
document.write(">");

}



</SCRIPT>
</head>
<body bgcolor="#CFFFDD" >
<table>
<tr>
<script language=javascript >
editTd();
</script>
<a name="1" >blablabalbalbalbalbal 111111111111</a></td>

<br>
<BR>
<br>
</tr>
<tr> <td><a name="2" >pfffffffff
<br>
<BR>
</a></td>
</tr>
</table>
<script language=javascript >
document.write("<BR>valeur de l'ancre : " + nom_ancre);
</script>

</body>
</html>

J'ai teste sans le parseint, sans les guillements autour du 1 ... la ligne avec le IF est refusée par le navigateur

ma derniere ligne "valeur de l'ancre : 1" ne s'affiche QUE si je supprime les 3 lignes de la condition... comme si mes 2 navigateurs (IE/mozilla) ne connaissaient pas javascript .. en gros y'a une grosse faute qqe part ...et je trouve pas
et Bien sur si je laisse la condition, le <TD> n'apparait pas et la couleur du fond est tout sauf rouge...

autre detail ... je pourrais pas faire le bgcolor directement sur le marqueur <A> ? j'ai essaye aussi mais en vain ...

Ca fait 2 jours que je suis sur ce truc ... tout le reste semble marcher tant que je mets pas de if :'(
j'ai essaye
if (nom_ancre==1) ? document.write(" bgcolor="#FF0000") : document.write(" ");
ou d'autres trucs du genre .. rien n'y fait ...

C'est ou que je louche ? je dois etre trop enerve pour le voir ...

D'avance merci.
Mad.

2 réponses

Enfait il faut ouvrir ton fichier HTMLen fichier internet , tu l'ouvres avec internet !! C'est toujours comme ça les fichiers HTML
J'ai 13 ans
0
Malko-Bordeaux
11 oct. 2008 à 23:39
Bon j'ai tout repris depuis zero ...

ca vient de mon print ... enfin document.write...
J'utilise les guillements sans faire gaffe ... je suis decidement trop #@% ....

Il me suffisait de faire
document.write(" bgcolor='#FF0000' "); // avec des ' au lieu des " ....

Ok je sors ...
ca fait 2 jours que je suis sur ca ... ben j'suis pas rendu .. :(

Bizarrement, j'prefere java :p

Cdt
Mad.
0