如何从asp.net页面删除thickbox背景屏幕?

时间:2012-07-17 06:51:09

标签: javascript jquery asp.net tags thickbox

我在javascript中有一个href标签和一个验证方法

我的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.png" runat="server" />
</a>

点击链接时,我需要验证并删除thickbox

我的javascript类似于此

function validate() {

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

我有两个按钮来更改锚标记内的图像。基于使用按钮设置的图像我将删除thickbox类。意味着如果它是Green.png我需要显示thickbox.if Red.png的弹出窗口我需要删除或禁用thickbox或不应该执行任何操作

<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";
}

当用户点击锚标记内的图像时调用validate,如果条件满足则不显示弹出窗口。但仍然出现厚盒的黑色透明屏幕,用户需要点击它。我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:0)

查看thickbox.js源代码,它没有提供取消的方法,所以尝试手动调用它。

e.g。 从锚

中删除thickbox和href属性
<a onclick="validate(); return false;" href="#" id="AnchorImage">
    <img id="ColorImageButton" src="SiteImages.png" runat="server" />
</a>

在验证函数中,调用tb_show以在必要时显示thickbox

function validate() {

    if (document.getElementById('<%=ColorImageButton.ClientID%>').src.indexOf('Red.png') >= 0) {
        // Do nothing
    } else {
       //tb_show(caption, url, imageGroup)
       tb_show(null, "PopUpPage.aspx?KeepThis=true&TB_iframe=true&height=150&width=400", false);
    }
}

答案 1 :(得分:0)

如果你想删除class =“thickbox”,请改变你的java脚本,如下所示

document.getElementById("AnchorImage").removeAttribute('class'); 

或者如果你想改变属性下面的代码

例如:对于文本框

document.getElementById("txt").removeAttribute("readonly",0);

(0,1)将属性值声明为true或false。

希望这有助于你