11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je tourne vraiment en rond, je dois rendre mon projet fin de la semaine et je bloque sur un script qui tourne partout sauf naturellement sous IE !

J'ai tenté bcp de choses mais en vain

Si quelqu'un passait par la ?

<script type="text/javascript">
function onclick_page(event)
{
	iOffsetX = window.Event ?
	pageXOffset:
	oEl.scrollLeft;
	iOffsetY = window.Event ?
	pageYOffset:
	oEl.scrollTop;
 	var x = event.clientX + iOffsetX;
  	var y = event.clientY + iOffsetY;
  	document.form.coord.value="X="+ x + " Y="+y;
	document.form.coordx.value=x;
	document.form.coordy.value=y;
}</script>



Cordialement
Nico
Administrateur
Peut-être pourrais tu préciser ce que le script est censé accomplir, et s'il y a une page pour le consulter.
La page ne peut etre consultable il s'agit d'une partie administration d'un site d'entreprise

La fonction du script est de retourner les coordonnées d'un clique sur une image

<img onclick="onclick_page(event);" id="carte" name="carte" src=".." alt="Envoyer" />

<input name="coord"value="" type="text"/>
<input name="coordx"value="" type="hidden"/>
<input name="coordy"value="" type="hidden"/>

Cordialement
Salut,
iOffsetX = window.Event ? pageXOffset : oEl.scrollLeft;
L'objet en question est "event" et non "Event". Attention à la casse... Smiley smile
<script type="text/javascript">
function onclick_page(event)
{
var iOffsetX = window.Event ? pageXOffset:scrollLeft,
iOffsetY = window.Event ? pageYOffset:scrollTop,
x = event.clientX + iOffsetX,
y = event.clientY + iOffsetY;
document.form.coord.value="X="+ x + " Y="+y;
document.form.coordx.value=x;
document.form.coordy.value=y;
}
</script>

J'ai changé en ca, ca ne marche pas sous IE et ca met une erreur du style pageXOffset est indefini, je suppose que ca va faire pareil pour pageYOffset, event.clientX et event.clientY

Cordialement
Résolu de cette maniere

<script type="text/javascript">
function onclick_page(event)
{
  if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }

 	x = event.clientX + scrOfX,
  	y = event.clientY + scrOfY;
  	document.form.coord.value="X="+ x + " Y="+y;
	document.form.coordx.value=x;
	document.form.coordy.value=y;
}
</script>


A+

Et merci encore