3

I have a problem with the FreeTextBox rich Text Editor in my ASP.NET site. The problem occurs when I access the site with firefox, and I have a freetextbox instance in a hidden div. The hidden div might also be an AJAX Tab Panel. The actual problem is that when the page loads it throws an uncaught exception (firebug shows the StoreHtml() function) and halts the postback!!

Is anywhere of the problem and a solution for it??

Thanks

4

4 に答える 4

2

最近、jQueryUIタブで同様の問題が発生しました。あなたがする必要があるのは、非表示のタブのCSSを次のようなものに変更することです。

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

これにより、非表示のタブが左端に配置され、絶対位置モードでは、水平スクロールバーは表示されません。タブが表示されたら、tab要素からhiddentabクラスを削除するだけです。

これは、問題がFirefoxの表示に関する奇妙な動作に関連している場合に機能します:なし。

于 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

ご回答ありがとうございます。現在、私の問題は、FreeTextBox が AJAX タブ パネル内にあることです。したがって、そのためにはタブ機能全体を再構築する必要があり、十分な時間がありません。

価値があるのは、FTB の .ReadOnly 属性を true に設定してから、controlo .PreRender で false に戻すことで、解決策に近い (と思う) ことです。ページが読み込まれるのは初めてなので、ポストバックごとにこれを適切に実装する方法を見つけなければなりません。

解決策を見つけたら投稿します!

とにかくありがとう!

于 2008-11-03T08:37:38.760 に答える
0

Firefox は、display:none のスタイルを持つものの中にいると問題があります。私がしたことは、表示が必要になるまでdivを非表示にするzIndexでdivを使用することでした。私はそこから始めます。

于 2008-10-31T16:13:29.993 に答える