Javascript 如何在单击图像时从数组中检索图像详细信息
我一直在编写一个图像标记代码,将图像的标记保存到数据库中。 因此,我在代码中所做的是,登录系统的用户将首先在图像上绘制一个框以进行标记。然后单击确认。单击“确认”按钮后,边界框位置和图像名称将存储在数据库中。您可以在图像中看到标记屏幕的图像 除了将值存储在数据库中,我还将这些标记位置值推送到数组中。我想做的是在再次单击图像时再次从数组列表中获取值 下面是我用来使用ajax发布值的代码:Javascript 如何在单击图像时从数组中检索图像详细信息,javascript,jquery,arrays,ajax,list,Javascript,Jquery,Arrays,Ajax,List,我一直在编写一个图像标记代码,将图像的标记保存到数据库中。 因此,我在代码中所做的是,登录系统的用户将首先在图像上绘制一个框以进行标记。然后单击确认。单击“确认”按钮后,边界框位置和图像名称将存储在数据库中。您可以在图像中看到标记屏幕的图像 除了将值存储在数据库中,我还将这些标记位置值推送到数组中。我想做的是在再次单击图像时再次从数组列表中获取值 下面是我用来使用ajax发布值的代码: $('.confirm').click(function(){ var areas = $
$('.confirm').click(function(){
var areas = $('img#img01').selectAreas('areas');
displayAreas(areas);
var imgarray=[];
var x_value= document.getElementById('x').value;
var y_value= document.getElementById('y').value;
var w_value= document.getElementById('w').value;
var h_value= document.getElementById('h').value;
var fullPath = document.getElementById("img01").src;
var filename = fullPath.replace(/^.*[\\\/]/, '');
document.getElementById("result").value = filename;
var img_name= document.getElementById('result').value;
imgarray.push({"img_name":img_name.value,"x":x_value.value,"y":y_value.value,"w":w_value.value,"h":h_value.value});
$.ajax({
type:'POST',
url: 'sendfile.php',
data:{
'x_value': x_value,
'y_value': y_value,
'w_value': w_value,
'h_value': h_value,
'img_name':img_name,
'imagecount':imagecount,
},
success: function(data){
alert("success");
console.log(img_name);
}
});
});
图片:
上图显示了标记屏幕,用户在其中单击确认以存储标记详细信息
图像显示显示图像的屏幕,单击该屏幕应显示图像和标记的详细信息。[预期输出]
图片:
我使用下面的代码将标记详细信息推送到数组中:
imgarray.push({"img_name":img_name.value,"x":x_value.value,"y":y_value.value,"w":w_value.value,"h":h_value.value});
预期的输出是当我在标记后再次单击图像时,它应该提醒标记详细信息存储在数组中的位置。
我试着这样做:
alert("img_array"+img_array[0].img_name);
但它显示了未定义的警报。是否有人可以帮助我解决此问题,并帮助我打印警报消息上的所有标记详细信息。使用警报是一种可怕的调试工具。尝试
console.log(img_数组[0])
并查看开发工具中的情况console@charlietfl我试过了,结果还是一样undefined@charlietfl同样的结果,未定义。。。这是个打字错误。有问题的代码正在使用imgarray
而不是img_数组
而不是$('.confirm')。单击(函数(){…var imgarray=[]…
dovar imgarray=[];$('.confirm')。单击..
。然后在其他事件处理程序中也可以访问它