这可能,单击图像同时获取图像名称和src吗?
我是javascript和php的新手。
<script language="javascript" type="text/javascript">
function SetImageName(strName)
{
document.getElementById("ImageName").value = strName;
}
</script>
<div id="Images">
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this.name)"/></a>
<img src="images/image2.jpg" name="image2.jpg" onclick="SetImageName(this.name)"/>
</div><input type="hidden" value="" id="ImageName" name="ImageName"/>
答案 0 :(得分:10)
有可能吗?当然。
在你的html标记中:
onclick="SetImageName(this)"
然后在你的JS中:
function SetImageName(imgElement) {
var theName = imgElement.name;
var theSrc = imgElement.src;
// etc.
也就是说,当您致电SetImageName()
时,使用this
传递对点击元素本身的引用,而不是仅使用this.name
传递其名称。然后在您的函数中,您可以根据需要访问其任何和所有属性。
答案 1 :(得分:2)
您可以使用此功能获取图像的'src':
document.getElementById("imagename").src
所以你的代码是:
<script language="javascript" type="text/javascript">
function SetImageProperties(control)
{
// Populate hidden fields with properties of the control
document.getElementById("ImageName").value = control.name;
document.getElementById("ImageSource").value = control.src;
}
</script>
<div id="Images">
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageProperties(this)"/>
<img src="images/image2.jpg" name="image2.jpg" onclick="SetImageProperties(this)"/>
</div><input type="hidden" value="" id="ImageName" name="ImageName"/>
</div><input type="hidden" value="" id="ImageSource" name="ImageSource"/>
传递
this
而不是
this.name
您正在传递对整个DOM对象的引用。然后,您可以单独使用每个属性,如上面修改后的代码所示。
答案 2 :(得分:0)
当用户点击图像时,函数SetImageName
将由以下方式调用:
onclick="SetImageName(this)"
含义:
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this)"/>
SetImageName
功能实现您将通过image.name
和image.src