我在我的ASP.NET网站上使用FancyBox jQuery插件(http://fancybox.net/)并且遇到了一个小问题但很烦人。
该站点使用默认的ASP.NET登录控件,然后显示一些在FancyBox中打开表单的链接 - 这一切都很有效。如果我不点击任何FancyBox链接,然后再点击注销链接(由LoginStatus控件提供),一切正常。
但是,如果我单击其中一个FancyBox链接然后关闭它,则注销链接不再有效,根本没有任何反应 - 看起来好像回发由于某种原因没有触发。
我做了一些搜索,但没有遇到过类似问题的人 - 有没有人见过这个问题?
提前致谢
更新:在IE调试器的帮助下,我已将问题跟踪到JavaScript错误 -
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
更具体地说,在设置eventtarget的行上,我收到的错误是 -
SCRIPT5007:无法设置属性“value”的值:object为null或undefined
更新2:我已经进行了临时修复 - 基本上我只是挂钩onClosed事件并在那时重新加载页面 -
$("#form_popup").fancybox({
'scrolling': 'no',
'titleShow': true,
'onClosed' : function() {
location.reload();
} });
当然问题是页面将从头开始完全重新加载,而不是使用jQuery,但至少它可以工作!
答案 0 :(得分:0)
对于有同样问题的人,我用这个黑客修复了这个
$("#form_popup").fancybox({
'scrolling': 'no',
'titleShow': true,
'onClosed' : function() {
location.reload();
} });
因此,只要按下关闭按钮就可以重新加载页面,从而解决问题。