2011-01-24 107 views
2

我在.Net中设置了一个非常简单的web表单,我在这里利用了jQuery的一些功能。我为表示层的一部分使用DOMWindow部分。div中的.NET按钮与style =“display:none”没有触发

在div中有一个登录表单设置为显示:none。当用户点击页面上的按钮时,它会显示登录表单。但是,当显示设置为无时,登录表单的.Net按钮不会触发它的事件。如果我把它拿出来,它会很好。我也尝试使用可见性属性,但没有运气。

股利代码:

<div id="Login" style="display:none;">

的启动代码:

click <a href="javascript:LaunchLoginWindow();" style="color:#000000;">here</a> to login.<br />

jQuery代码是:

function LaunchLoginWindow() { 
    $(document).append("#Login"); 
    $.openDOMWindow({ 
     loader: 1, 
     loaderImagePath: 'animationProcessing.gif', 
     loaderHeight: 7, 
     loaderWidth: 8, 
     windowSourceID: '#Login' 
    }); 
} 

任何帮助或解释,任何人可以提供的是欣赏编辑。

我注意到我有一些代码在那里定义登录div的客户端功能。我删除了这个消除它作为一个可能的问题。

回答

2

我可以在你的代码中看到你正在附加div #Login,但没有像块那样将其style属性设置回正常。将其设置回块,我相信它会工作

尝试添加的财产以后这样的:

$(document).append("#Login").show(); 
+0

谢谢,谢克尔。这个问题是不同的,但帮助表示赞赏。 – pbrstreetgang 2011-01-24 19:34:16

1

OK,这个使用Firebug玩弄后,我发现这个问题:当jQuery插件DOMWindow创建它的显示层,它附加到DOM的HTML节点,它将控件放在asp.net表单标签之外。因此,通过DOMWindow关联的按钮和动作无法被.Net识别。所以我编辑DOMWindow源文件以附加到DOM表单节点,而不是HTML节点。

缺点是源代码现在已经被定制,并且必须彻底进行质量检查,特别是如果进行任何进一步更改。但我希望通过在文件中评论来有效地管理这一点。

希望这可以帮助任何碰到这个问题的人。

pbr

+0

哦!好的,对不起,我忍不住...... :( – 2011-01-25 02:41:19

相关问题