2012-07-16 115 views
0

我有一個圖像標籤裏面的錨標籤,我動態地改變基於點擊按鈕的錨標籤內的圖像。 button1設置Red.png圖片,button2設置Green.png圖片。我想驗證錨標記中的哪個圖像,如果它是Green.png,我需要顯示thickbox,如果它是Red.png,則不應該發生操作。我怎麼能做到這一點?如何在彈出窗口顯示之前驗證錨標記?

//我的aspx代碼錨標籤與圖片標籤

<a onclick="validate();" href="PopUpPage.aspx?KeepThis=true&TB_iframe=true&height=150&width=400" 
     class="thickbox" id="AnchorImage" > 
<img id="ColorImageButton" src="SiteImages/Red.png" runat="server" /> 
</a> 

// 2個按鈕 - Button1以設置紅色圖像,BUTTON2樹立綠色形象

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" /> 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     ColorImageButton.Src = "~/SiteImages/Red.png"; 
    } 

    protected void Button2_Click(object sender, EventArgs e) 
    { 
     ColorImageButton.Src = "~/SiteImages/Green.png"; 
    } 

更新:基於答案我添加了一個JavaScript來刪除鏈接,但我仍然有厚厚的黑屏幕背景

function validate() { 

    if (document.getElementById('<%=ColorImageButton.ClientID%>').src.indexOf('Red.png') >= 0) { 
         document.getElementById('AnchorImage').removeAttribute('href'); 
    } 

回答

1

使用Javascript你可以做這樣的事情:

  1. 附上一個onclick處理到錨像這樣:

    <a onclick="validate();" href="PopUpPage.aspx?KeepThis=true&TB_iframe=true&height=150&width=400" 
        class="thickbox" id="AnchorImage" > 
    <img id="ColorImageButton" src="SiteImages/Red.png" runat="server" /> 
    </a> 
    
  2. 定義validate功能:

    ​function validate() 
    { 
        //If image is red; change the href value to a hash sign 
        //so it doesn't do anything 
        if(document.getElementById('<%=ColorImageButton.ClientID%>').src.indexOf('Red.png')>=0) 
        { 
         document.getElementById('AnchorImage').href='#'; 
        } 
    }​ 
    
+0

我想這一點,現在彈出不來。但厚盒子的背景仍然存在。我需要點擊黑屏來隱藏它。 – niknowj 2012-07-17 05:22:14

+0

@niknowj我無法提供完全符合您需要的答案,因爲我沒有完整的代碼副本,可以讓我重現您的體驗。如果您有其他問題,請發佈另一個問題或編輯此問題,添加更多詳細信息。 – Icarus 2012-07-17 05:29:22

+0

@lcarus,好的,我會做的。 – niknowj 2012-07-17 06:14:33

相關問題