这是我的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/1391019/www/myfirststore.eu.pn/submitPage.php中的imgSrc
我该怎么办?问候并感谢您的帮助。
答案 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'];