通过Ajax而不是表单提交从“图像”类型的输入提交数据

时间:2010-12-27 15:14:59

标签: jquery ajax html-input

基本上,我想使用图像输入,但我不想提交表格来获得结果,我想从点击图像输入中获取X和Y坐标,然后通过AJAX。

现在,我意识到我可以将图像输入以自己的形式输入,然后提交到隐藏的iframe 并检查间隔的结果(我正在为ajax上传器执行此操作现在),但它似乎有点蠢。 我也意识到我可以通过任何点击获取我的鼠标位置,这不是我要求的

我可以像这样使用图片类型的输入吗?有没有办法点击图像输入只是设置它的值然后调用一些JavaScript来执行我的ajax调用?

2 个答案:

答案 0 :(得分:2)

我正在处理我的旧问题,但我发现这个问题从来没有得到充分的回答。我不记得我是否已经“回来了”,但我现在知道如何做到这一点。

只需检查图像输入的click事件的offsetX和offsetY。它应该偏移到您单击的图像输入。

$('input[type=image]').click(function(e) {
     //alert the clicked position.
     alert(e.offsetX + ',' + e.offsetY);
});

答案 1 :(得分:1)

看看这里: http://jsfiddle.net/pfLtm/

如您所见,该代码可以很容易地修改为:

$("#MyInput").click(function(event) {
    var oPos = $(this).position();
    $(this).attr("mouse_x", (event.pageX - oPos.left));
    $(this).attr("mouse_y", (event.pageY - oPos.top));
    return false;
});

这会将点击的X和Y位置存储为元素本身的属性。 测试用例:http://jsfiddle.net/pfLtm/1/

例如,您可以调用AJAX调用,而不是返回false。