如何在单个onclick上同时获取图像名称和src?

时间:2013-03-22 11:38:30

标签: javascript

这可能,单击图像同时获取图像名称和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"/>

3 个答案:

答案 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.nameimage.src

获取图片的名称和src