如何使用onclick获取图像的路径并将其保存在变量中

时间:2013-05-22 22:10:05

标签: javascript events

这是我的HTML:

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

现在我需要一个函数changeColor()来突出显示单击的图像.. 和函数savePathInVar()将被点击图像的路径保存在input-hidden-field中。 谁可以帮助我? ps:这是$id来自的地方:

$sql = mysqli_query($mysqli, "SELECT * FROM products WHERE id='$id' LIMIT 1");
$productCount = mysqli_num_rows($sql); // count the output amount
if ($productCount > 0) {
    // get all the product details
    while($row = mysqli_fetch_array($sql)) {
         $id = $row["id"];
         $id = "img.$id";
                     blabla...
如果有人能帮助我,那将是非常好的..我是javascript的新手:)

<小时/> 这是OP的回答。它属于问题

修改

我在做某人的家庭作业

更新3,我的整个代码:

<script>
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);
}
function savePathInVar(ImgLocation)
{
var form = document.createElement("form");
var inp = document.createElement("input");
inp.name="imgSrc";
inp.value=ImgLocation;
form.appendChild(inp);
form.method="post";
form.submit();//this will refresh the page
}
</script>

<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 type="submit" value="Submit" />
</table>
</form>

我的submitPage.php:

<?php
error_reporting (E_ALL | E_STRICT);
ini_set ('display_errors' , 1);
$imgSrc = $_POST['imgSrc'];
echo $imgSrc;
?>

当我标记图像并单击“提交”时,我得到:

  

注意:未定义的索引:第5行的/srv/disk8/13​​91019/www/myfirststore.eu.pn/submitPage.php中的imgSrc

我该怎么办?问候并感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

onclick="changecolor();"更改为onclick="changecolor(this);"

function changecolor(img)
{
    savePathInVar(img.src);
}
function savePathInVar(ImgLocation)
{
    //Do what you want with ImgLocation

}

<强>更新

取消所有图像的亮度,但只有一个img:

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);
}

更新2

要将图像src提交给php,请创建一个表单并发布:

function savePathInVar(ImgLocation)
{
    var form = document.createElement("form");
    var inp = document.createElement("input");
    inp.name="imgSrc";
    inp.value=ImgLocation;
    form.appendChild(inp);
    form.method="post";
    form.submit();//this will refresh the page
}

在php中:

$imgSrc = $_POST['imgSrc'];