2016-03-22 111 views
1

我已經通過類似的問題進行了搜索,但沒有找到適合自己的東西。Uncaught TypeError:無法爲ImageButton設置null的屬性'src'

我想在特定條件(t> 80)下更改ImageButton的ImageURL,但是我得到的是未捕獲的TypeError:無法設置null的屬性'src'。我<head>代碼:

$(document).ready(function() { 
      //doing other stuffs 
     setInterval(function() { 

         $(".industrial.tank.size.one").each(function() { 
          $(this).industrial(t); 

          if (t > 80) { 

           // document.getElementById('btnV11').ImageURL = "~/Images/Valve/Valve-gray-left.png"; 
           document.getElementById('btnV11').src = "../../Images/Valve/Valve-gray-left.png";   
         }); 
     }, 3000); 
    }); 

<body>

<asp:ImageButton ID="btnV11" runat="server" Height="51px" ImageUrl="~/Images/Valve/Valve-alarm-left.gif" Width="53px" OnClientClick="ShowControlPanel_P11(); return false;"/> 

爲什麼我得到這個錯誤?

+0

如果ImageButton的被放置在內容頁,然後ID不會被DOM – anomepani

回答

2

該ID與您在服務器端代碼中設置的ID不同。與<%= btnV11.ClientID %>

$(document).ready(function() { 
      //doing other stuffs 
     setInterval(function() { 

         $(".industrial.tank.size.one").each(function() { 
          $(this).industrial(t); 

          if (t > 80) { 

           // document.getElementById('btnV11').ImageURL = "~/Images/Valve/Valve-gray-left.png"; 
           document.getElementById('<%= btnV11.ClientID %>').src = "../../Images/Valve/Valve-gray-left.png";   
         }); 
     }, 3000); 
    }); 
+0

發現按照你的建議工作。謝謝! – Ionut

+1

歡迎你 –

-2

您可以使用JQuery

爲此更換btnV11更換

document.getElementById('btnV11').src = "../../Images/Valve/Valve-gray-left.png";

通過

$("#btnV11").attr("ImageUrl","../../Images/Valve/Valve-gray-left.png"); 
+1

(1)如果JavaScript無法找到帶有'id'的元素,爲什麼你認爲jQuery(順便說一句,是JavaScript)可以? (2)什麼是HTML元素上的'ImageUrl'? – David

+0

我不熟悉ASP代碼在渲染後的外觀。 –

+0

@FayazK ImageUrl不是img的屬性,所以沒有工作 – anomepani

相關問題