我在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,如果条件满足则不显示弹出窗口。但仍然出现厚盒的黑色透明屏幕,用户需要点击它。我怎么能解决这个问题?
答案 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。
希望这有助于你