将clicked元素的路径保存在变量中

时间:2013-05-23 08:44:43

标签: javascript events

我的HTML:

<form action="submitPage.php" method="post" onsubmit="savePathInVar();"> 
  <table>
  <tr>
    <td><img src="<?php echo $path; ?>" onclick="changecolor(this);" /></td>
    <td><img src="<?php echo $path; ?>" onclick="changecolor(this);" /></td>
  </tr>
    <input type="hidden" value="ClickedImaged" />
    <input type="submit" value="Submit" />          
  </table>
</form>

ps:$path = "inventory_images/$id.jpg"; 我的函数changecolor():

function changecolor(img)
{
var images = document.getElementsByTagName("img");
for(var i=0,j=images.length; i<j; i++)
{
    images[i].style.borderColor="#000";
}
img.style.borderColor="#F00";
//Operate on img location as before
savePathInVar(img.src);
}

我的函数savePathInVar():

function savePathInVar(ImgLocation)
{
//How do i save the path of the clicked image in a variable now?
}

如何在变量中保存点击图像的路径? 我如何将这个变量放到我桌子下面的输入隐藏字段中? 谁可以帮助我? 如果有人能帮助我,那将是非常好的..我是javascript的新手:)问候!

2 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但是你想在字符串中保存点击图像的路径,并将此字符串保存在输入值中?在这种情况下,它非常简单。请注意表单和输入的添加名称。

<form name="form_name" action="submitPage.php" method="post" onsubmit="savePathInVar();"> 
  <table>
  <tr>
    <td><img src="<?php echo $path; ?>" onclick="changecolor(this);" /></td>
    <td><img src="<?php echo $path; ?>" onclick="changecolor(this);" /></td>
  </tr>
    <input name="input_name" type="hidden" value="ClickedImaged" />
    <input type="submit" value="Submit" />          
  </table>
</form>

function savePathInVar(ImgLocation)
{
    //if you want it to be a local variable
    var str = ImgLocation;
    //if you want it to be a global variable - to be handled with care*
    str = ImgLocation;
    document.form_name.input_name.value = str; 

}

*使用全局变量时要小心。您可以在此处找到更多详细信息:Difference between variable declaration syntaxes in Javascript (including global variables)?

答案 1 :(得分:0)

只需保存var,然后将其设置为字段。

var imgLoc;

function savePathInVar(ImgLocation)
{
    imgLoc = ImgLocation
    document.getElementById('hiddenImgLoc').value = ImgLocation
}

示例:(我已删除字段上的隐藏属性,因此您可以看到它。) http://jsfiddle.net/E4RG3/