2008-10-31 45 views
3

我的ASP.NET網站中的FreeTextBox富文本編輯器存在問題。當我用firefox訪問網站時會出現問題,並且我在隱藏的div中有一個freetextbox實例。隱藏的div也可能是一個AJAX Tab Tab。實際的問題是,當頁面加載時拋出一個未捕獲的異常(螢火蟲顯示StoreHtml()函數)並停止回發!隱藏Firefox上的FreeTextBox錯誤

是否存在問題和解決方案?

謝謝

回答

2

我最近遇到了jQuery UI選項卡的類似問題。你需要做的是隱藏選項卡中的CSS更改爲類似:

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

這使得隱藏標籤靠左,並在絕對位置模式,這不會導致水平滾動條出現。當顯示標籤時,只需從標籤元素中刪除hiddentab類。

這將工作,如果問題與Firefox的奇怪行爲與顯示:無。

0

Firefox有一個問題,在任何與顯示樣式:無。我所做的就是使用帶有隱藏div的zIndex的div,直到我需要它顯示。我會從那裏開始。

0

感謝您的回答,但是我現在的問題是FreeTextBox在AJAX Tab Panel中,因此我將不得不重建整個選項卡功能才能這樣做,而且我沒有足夠的時間!

對於它的價值,我接近解決方案(我認爲),通過將FTB的.ReadOnly屬性設置爲true,然後在controlo.PreRender上將其設置爲false。它在第一次加載頁面時工作,所以現在我必須弄清楚如何正確地爲每個回發實現這一點。

我會發布解決方案,如果我找到它!

無論如何,謝謝!

2

我發現問題的另一種解決方案,以防萬一任何人在尋找它。我所做的就是使用JavaScript重寫窗體的OnSubmit函數,從而捕獲導致問題的異常並繼續執行其餘的代碼。

然而,這個解決方案有點「黑客」,因爲它並沒有涵蓋所有情況。我在FreeTextBox forum找到了解決方案,並試用了它,並且它工作正常。在我的代碼的唯一區別是,我在補償功能的結束返回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();"); 

希望它可以幫助任何人有同樣的問題。