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="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 回答