2010-07-22 38 views
2

我想在个人点击它之后显示区域标签名称。不幸的是,当我在地图区域使用下面的代码时,我得到了未定义的obiekt名称。这很奇怪,因为对于文本框'kot'它效果很好。从Javascript获取HTML区域标签名称?

<script> 

function metoda(obiekt) 
{ 
    alert(obiekt.name); //Here I get undefined! 
} 

</script> 

<input type='text' value='kot' name='das' onclick='metoda(this);'></input> 
<map name='mapkama'> 
    <area 
     name='AE' 
     shape='POLY' 
     coords='285,87,287,90,288,87,285,87' 
     href='#' 
     title='' 
     onclick='metoda(this); return false;'> 
</map> 

<img usemap="#mapkama" src='http://myimage.com/image'> 

如何从metoda功能显示区域名称?

+0

不幸的是达到这个目的,不能被点击的区域,除非它有一个可见的元素。 – 2010-07-22 11:23:27

+0

@rob我已经添加了可见元素的部分,希望这有助于你的帮助;) – 2010-07-22 11:56:14

回答

0

使用jQuery你可以通过

<script type="text/javascript"> 

function metoda(obiekt) 
{ 
    alert(obiekt.getAttribute("name")); 
} 

</script> 

<input type='text' value='kot' name='das' onclick='metoda(this);'></input> 

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" /> 

<map name="planetmap"> 
    <area name='AE1' shape="rect" coords="0,0,82,126" href="#" alt="Sun" onclick='metoda(this); return false;'/> 
</map> 
+0

我不能使用JQuery,只有JS – 2010-07-22 15:54:45

+1

您好我编辑了我的答案,'obiekt.getAttribute(“name”)'应该这样做。 – 2010-07-23 00:26:32

1

以下代码正确返回名称的值。

<script> 

function metoda(obiekt) 
{ 
    alert(obiekt.name); 
} 

</script> 

<input type='text' value='kot' name='das' onclick='metoda(this);'></input> 

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" /> 

<map name="planetmap"> 
    <area name='AE1' shape="rect" coords="0,0,82,126" href="#" alt="Sun" onclick='metoda(this); return false;'/> 
</map> 

唯一的区别是,我正在使用rect形状,而您正在使用poly。你可以检查是否使用矩形或圆形帮助你。

+0

这仍然返回undefined。 – 2010-07-22 12:41:44

+0

你的意思是对于矩形,它返回undefined?有一件事我注意到,为了获得点击坐标,多边形坐标必须是正确的。 – 2010-07-22 13:12:37

+0

@Sachin Shanbhag与rob相同 - 未定义。我已经将我的源代码更新为现实生活场景,因此您可以轻松地重现它 – 2010-07-22 15:41:55