11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Voilà ma question est simple et je vais l'illustrer par un exemple simple Smiley biggrin

Voici une simple boucle qui ne fonctionne pas correctement dans firefox à cause du caratère °
(l'erreur est qu'il lance la boucle 2fois)

for(i=1;i<=5;i++){
	maVar= prompt('Info n° '+i);
}


Maintenant si je supprime le ° ça fonctionne.
Cela ne me pose pas vraiment de problème c'est juste que j'aimerais comprendre Smiley biggrin
Quelqu'un peut me dire pourquoi?
Modifié par nash01 (04 Jan 2007 - 21:41)
Vraiment à tout hasard, essaie:


for(i=1;i<=5;i++){
	maVar= prompt('Info n\° '+i);
}


Devant les caractères spéciaux, le \ aide Smiley smile
Chez moi çà marche très bien l'exemple du début ...

Avec ce code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
<!--
function test(){
 for(i=1;i<=5;i++){
  maVar= prompt('Info n\° '+i);
 }
}
window.onload=test;
//-->
</script>
</head>
<body>

</body>
</html>

Modifié par CNeo (04 Jan 2007 - 21:52)
Salut,

Ca doit sans doute être un problème d'encodage.

Pour échapper des caractères Unicode en JavaScript, tu peux utiliser la syntaxe \uXXXX. Dans ton cas, ça donne :
for(i=1;i<=5;i++){
	maVar= prompt('Info n\u00B0 '+i);
}