【问题标题】:How to remove thickbox background screen from asp.net page?如何从 asp.net 页面中删除厚框背景屏幕?
【发布时间】:2012-07-17 06:51:09
【问题描述】:

我在 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>

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

我的 javascript 是这样的

function validate() {

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

我有两个按钮来更改锚标记内的图像。基于使用按钮设置的图像,我正在删除厚盒类。表示如果是 Green.png 我需要显示thickbox 的弹出窗口。如果 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";
}

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

【问题讨论】:

  • 您要在验证中删除 class="thickbox" 吗?
  • @ShoaibMuhammadKhan 是的,一样,我认为只有带有thickbox的背景屏幕会消失。

标签: javascript jquery asp.net tags thickbox


【解决方案1】:

如果您想删除 class="thickbox",请更改您的 java 脚本,如下所示

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

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

例如:对于文本框

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

(0,1) 将属性值声明为真或假。

希望对你有帮助

【讨论】:

  • 通过这段代码我可以去掉thickbox属性,但是thickbox的黑背景屏幕还在。
  • 你会在 jsfiddle 上发布你的代码吗?这将有助于我们轻松解决
  • 我是 jsfiddle.net 的新手。现在我正在使用它进行检查。
【解决方案2】:

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

例如 移除锚点的thickbox和href属性

<a onclick="validate(); return false;" href="#" id="AnchorImage">
    <img id="ColorImageButton" src="SiteImages.png" runat="server" />
</a>

在您的验证函数中调用 tb_show 以在必要时显示厚框

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

【讨论】:

  • 我试过这个。但是thickbox黑色背景屏幕仍然存在。
  • 我是 jsfiddle.net 的新手。我正在使用它进行检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 2019-10-22
相关资源
最近更新 更多