1

私がやろうとしていることは、Jsの人にとっては簡単なはずですが、私は単なるphpの人です(単なる初心者です)。私が今やっているプロジェクトのためにこれが必要です。

私がやろうとしているのは、画像のクリック座標を取得し、それをphpスクリプトに投稿して、値を取得して残りの処理を実行できるようにすることです。(私はajaxを知らないので、これが私が推測する唯一の方法です)。

コードを見つけましたが、これはXポイントとYポイントを必要な回数だけ表示します。一度だけ動かして欲しいです。

    <script type="text/javascript">
<!--

function FindPosition(oElement)
{
if(typeof( oElement.offsetParent ) != "undefined")
{
for(var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent)
{
posX += oElement.offsetLeft;
posY += oElement.offsetTop;
}
return [ posX, posY ];
}
else
{
return [ oElement.x, oElement.y ];
}
}

function GetCoordinates(e)
{
var PosX = 0;
var PosY = 0;
var ImgPos;
ImgPos = FindPosition(myImg);
if (!e) var e = window.event;
if (e.pageX || e.pageY)
{
PosX = e.pageX;
PosY = e.pageY;
}
else if (e.clientX || e.clientY)
{
PosX = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
PosY = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
PosX = PosX - ImgPos[0];
PosY = PosY - ImgPos[1];
document.getElementById("x").innerHTML = PosX;
document.getElementById("y").innerHTML = PosY;
}

//-->
</script>
<img src="newapp.jpg" alt="" id="myImgId" height="300" width="400"><p>Click on the image to get the coordinates.</p>


<script type="text/javascript">
<!--
var myImg = document.getElementById("myImgId");
myImg.onmousedown = GetCoordinates;
//-->
</script>
4

3 に答える 3

2

JavaScript がなくても実行できます (html と php だけで ;)

<?php
  $foo_x=$_POST['foo_x'];
  $foo_y=$_POST['foo_y'];
  echo "X=$foo_x, Y=$foo_y ";
?>
<form action='' method=post>
  <input type="image" alt=' Finding coordinates of an image' src="xy-coordinates.jpg" name="foo" style=cursor:crosshair;/>
</form>

キーは、に設定された type-attribute ですtype="image"

ソースとデモ: http://www.plus2net.com/php_tutorial/php_image_coordinates.php

于 2012-10-23T13:13:09.663 に答える
1
  $("image").click(function(e){
      var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
      var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
      $("span:first").text("( e.pageX, e.pageY ) : " + pageCoords);
      $("span:last").text("( e.clientX, e.clientY ) : " + clientCoords);
    });​
于 2012-10-23T13:16:45.007 に答える
0

このコードをあなたのものにできないのはなぜですか:

document.getElementById("x").value     = PosX;
document.getElementById("y").value= PosY;
于 2013-05-14T13:48:00.470 に答える