.net中的Javascript无法正常工作

时间:2013-06-18 13:09:16

标签: javascript .net

我有一个文档,我为我的javascript写了这行代码:

<script type="text/javascript"> function OnMouseOverFunction(id) {


                     var value = id.id;

                     alert("welcome");



                     element1 = document.getElementsByName("Image1");
                     element2 = document.getElementById("Image2");
                     element3 = document.getElementById("Image3");
                     element4 = document.getElementById("Image4");
                     element5 = document.getElementById("Image5");


                     if (value == "ContentPlaceHolder1_Image1") {
                         id.src = "images/zvezda3.png";
                     } else if (value == "ContentPlaceHolder1_Image2") {

                         id.src = "images/zvezda3.png";
                         element1.src = "images/zvezda3.png";

                     }



                 }</script>

以下是这些图片:

<b>Ocena:</b>
                 <asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" name="1" ImageUrl="images/zvezda2.png" id="Image1" runat="server" /> 
                 <asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="2" ImageUrl="images/zvezda2.png" id="Image2" runat="server" />
                 <asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="3" ImageUrl="images/zvezda2.png" id="Image3" runat="server" />
                 <asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="4" ImageUrl="images/zvezda2.png" id="Image4" runat="server" />
                 <asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="5" ImageUrl="images/zvezda2.png" id="Image5" runat="server" />

如果我删除了提醒(&#34; welcome&#34;);图片改变了。但是警告我得到了这个错误:

Property 'alert' of object [object Object] is not a function

如果鼠标位置在3.image上,我的目标是更改3种颜色(到黄色图片)。等等... 但为什么警报不起作用? 我也想知道,我怎么能通过它的ID获取元素?

element2 = document.getElementById("Image2"); 
element2.id //it returns null

编辑:

但......

document.write("test");

......工作正常!

1 个答案:

答案 0 :(得分:0)

服务器控件上的'id'属性仅在服务器上有效,.net在发出HTML时会破坏id。

要解决此问题,您需要获取ClientId以便在JavaScript中使用。

尝试 document.getElementById('<%= Image5.ClientId %>');

替换每个图像的服务器ID