11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Depuis quelque temps, j'ai des problèmes pour faire fonctionner mon JavaScript sur IE. A chaque appel de fonction, j'ai droit à un "objet attendu". Petit exemple :

<div id="nuage4" class="nuage" onClick="actionner('4','reculer');" onMouseOver="OnNuage('4')"></div>


La fonction OnNuage est la suivante :

function OnNuage(id)
{
	alert(id);
	/*if(id != idActuel)
	{
		colorNuage(id,"blanc");
	}*/
}


Bon là j'ai simplifié ma fonction pour faire des tests. Il s'avère que rien qu'avec cet alert, ça ne marche pas. En revanche, en faisant un truc du genre "alert('blabla');", ça marche. Je soupsonne un problème de passage de variable (ici id) dans les fonctions.

Pour info, l'appel du JavaScript se fait de la manière suivante :

Au début de mon index.php (là où se trouve mon code HTML)
<?php
	include('includes.php');
?>


Dans cet include :
	//Les fichiers JavaScript
	echo '<script type="text/javascript" language="JavaScript" src="javascript/global.js"></script>';
	echo '<script type="text/javascript" language="JavaScript" src="javascript/prototype-1.6.0.3.js"></script>';
	echo '<script type="text/javascript" language="JavaScript" src="javascript/mecanique.js"></script>';


Mais le JavaScript est bien appelé puisque comme dit précédemment, un alert('blabla'); marche très bien.


Merci d'avance pour votre aide !
Modifié par Korangar (03 Sep 2009 - 23:02)
Salut,

L'erreur n'est pas là où tu le penses. OnNuage est correcte et son appel également. La vérité est ailleurs. Je te suggère de regarder l'erreur produite par IE comme la ligne et le fichier concernée. "Objet attendu" dans la plupart des cas, c'est l'instanciation (ou l'utilisation d'une méthode) d'un objet dont la classe n'existe pas, ou très souvent, pas encore...
Bonsoir !

Tu avais raison, la vérité était ailleurs Smiley smile Je suis resté focalisé sur ma fonction et mon HTML alors que c'était une autre fonction bien en dessous qui faisait bugger tout le javascript. Une simple virgule oubliée qui ne faisait pas bugger FF ou Opera.

En tout cas merci, j'ai eu du mal à comprendre où tu m'orientais, mais finalement j'ai cherché ailleurs et ça a marché ^^
Virgule ? Ah ? Bizarre, ce genre d'erreur est plutôt connue et identifiable par le message "Identificateur, Chaine ou nombre attendu" avec IE.
Korangar a écrit :
Une simple virgule oubliée qui ne faisait pas bugger FF ou Opera.
Normal. Cette notation est autorisée. Il n'y a qu'IE qui se focalise dessus.