3

我的 ASP.NET 站点中的FreeTextBox富文本编辑器有问题。当我使用 firefox 访问该站点时会出现问题,并且我在隐藏的 div 中有一个 freetextbox 实例。隐藏的 div 也可能是 AJAX 选项卡面板。实际的问题是,当页面加载时它会抛出一个未捕获的异常(萤火虫显示 StoreHtml() 函数)并停止回发!

是否有任何问题和解决方案?

谢谢

4

4 回答 4

2

我最近在 jQuery UI 选项卡上遇到了类似的问题。您需要做的是将隐藏选项卡的 CSS 更改为:

.hiddentab
{
     position: absolute;
     left: -99999999999999;
}

这会将隐藏的选项卡放在最左侧,并且在绝对位置模式下,这不会导致出现水平滚动条。显示选项卡时,只需从选项卡元素中删除 hiddentab 类。

如果问题与 Firefox 的 display: none 奇怪行为有关,这将起作用。

于 2008-11-03T09:31:21.023 回答
2

如果有人正在寻找它,我已经找到了解决问题的另一种方法。我所做的是使用 javascript 覆盖表单的 OnSubmit 函数,从而捕获导致问题的异常并继续执行其余代码。

然而,该解决方案是一种“黑客”,因为它并不涵盖所有情况。我在FreeTextBox 论坛中找到了解决方案并尝试了它并且它有效。我的代码中唯一的区别是我在覆盖函数的末尾返回 true:

function OvrdSubmit()
{
    var ftbSubmit=document.forms[0].onsubmit;
    if (typeof(ftbSubmit) == 'function')
    {
        document.forms[0].onsubmit = function()
        {
            try{ftbSubmit();}
            catch(ex){}
        }
    }

    // We are ok
    return true;
}

由于我的站点是一个 ASP.NET 站点,我还必须在 Page_Load() 中添加这一行:

ClientScript.RegisterOnSubmitStatement(this.GetType(), String.Concat(this.ClientID, "_OnSubmit"), "javascript: return OvrdSubmit();");

希望它可以帮助任何有同样问题的人。

于 2008-11-06T14:05:04.540 回答
0

Firefox 在任何具有 display:none 样式的内容中存在问题。我所做的是使用带有 zIndex 的 div 来隐藏 div,直到我需要它显示。我会从那里开始。

于 2008-10-31T16:13:29.993 回答
0

感谢您的回答,但是我目前的问题是 FreeTextBox 在 AJAX 选项卡面板内,因此我必须重建整个选项卡功能才能这样做,而且我没有足够的时间!

对于它的价值,我接近解决方案(我认为),将 FTB 的 .ReadOnly 属性设置为 true,然后在 controlo .PreRender 上将其设置回 false。它在页面第一次加载时工作,所以现在我必须弄清楚如何为每个回发正确实现它。

如果我找到它,我会发布解决方案!

不管怎么说,还是要谢谢你!

于 2008-11-03T08:37:38.760 回答