2016-07-28 41 views
0

我的網頁上有一個文本框和兩個鏈接按鈕。當我在文本框中添加一些值時,根據該值以及我離開文本框時的情況。我想隱藏或使鏈接按鈕不可見。當用戶離開文本框時隱藏鏈接按鈕

<asp:textBox id="textBox1" runat="server"> 
<asp:linkButton id="link1" runat="server"> 
<asp:linkButton id="link2" runar="server"> 

當用戶在文字框中輸入值「X」,我想隱藏1和連接2否則,我想1和連接2可見。

這裏是我的代碼,它不工作:

function HidePick(selectObj) {  
     if (selectObj.value.toUpperCase() == "D9") { 
     document.getElementById("LINK1").style.display = 'none'; 
    } 
} 

    <td><asp:TextBox ID="TXTTest1" runat="server" CssClass="cssTest" Width="30" onmouseout="javascript:HidePick(this);" 

隨着錯誤消息:

"JavaScript runtime error: Unable to get property 'style' of undefined or null reference

+0

你爲什麼不使用jQuery? ... $(「#link1」)。hide()或.toggle()https://api.jquery.com/ – jdave

回答

0

對於那種DOM操作,很容易與jQuery。

JS小提琴 - https://jsfiddle.net/p8pm6r5r

<asp:TextBox ID="textBox1" runat="server" /> 
<asp:LinkButton ID="link1" runat="server" Text="Button1" /> 
<asp:LinkButton ID="link2" runat="server" Text="Button2" /> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 
<script type="text/javascript"> 

    $(function() { 
     $("#<%= textBox1.ClientID %>").blur(function() { 
      if ($(this).val() === "X") { 
       $("#<%= link1.ClientID %>").hide(); 
       $("#<%= link2.ClientID %>").hide(); 
      } 
     }); 
    }) 
</script> 
+0

它沒有要求使用jQuery,也沒有使用jQuery標籤。 – Aristos

+0

它被標記爲** ASP.Net **。現在在ASP.Net應用程序中看到** jQuery **並不罕見。你給他一條魚,但我告訴他如何釣魚。 – Win

+0

仍然站立,不要求jQuery解決方案。 – Aristos

0
<asp:textBox id="textBox1" runat="server"> 
<asp:LinkButton ID="link1" runat="server" Text="Button1" /> 
<asp:LinkButton ID="link2" runat="server" Text="Button2" /> 

Assum你不想使用jQuery或任何庫;
在.aspx頁面的htmls結尾添加一個腳本標記,以將按鈕綁定到mouseleavemouseout事件。只是爲了確保你的textbox1的id是靜態的(它在你的源代碼中),一旦你的頁面在瀏覽器上呈現,檢查你的textbox1,看看它是否仍然有相同的id,如果不是,那麼複製該id並替換(從textbox1到(whatever_textbox1))的事件綁定器行。您的鏈接ID也一樣。

document.getElementById("textBox1").addEventListener("mouseout",HidePick,false); 
    function HidePick(e){ 
     if (e.target.value.toUpperCase() == "D9") 
      document.getElementById("LINK1").style.display = 'none';  
    }