Скрытая ошибка FreeTextBox в Firefox - PullRequest
3 голосов
/ 31 октября 2008

У меня проблема с FreeTextBox многофункциональным текстовым редактором на моем сайте ASP.NET. Проблема возникает, когда я захожу на сайт с Firefox, и у меня есть экземпляр freetextbox в скрытом div. Скрытый div также может быть AJAX Tab Panel. Фактическая проблема заключается в том, что при загрузке страницы она генерирует необработанное исключение (firebug показывает функцию StoreHtml ()) и останавливает обратную передачу !!

Есть ли где-нибудь проблема и решение для этого ??

Спасибо

Ответы [ 4 ]

2 голосов
/ 06 ноября 2008

Я нашел другое решение проблемы на тот случай, если кто-то его ищет. Я использовал 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();");

Надеюсь, это поможет кому-то с такой же проблемой.

2 голосов
/ 03 ноября 2008

Недавно я столкнулся с подобной проблемой с вкладками пользовательского интерфейса jQuery. Что вам нужно сделать, это изменить CSS для скрытых вкладок на что-то вроде:

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

Это помещает скрытые вкладки далеко влево, а в режиме абсолютного положения это не приводит к появлению горизонтальных полос прокрутки. Когда вкладка отобразится, просто удалите класс hiddentab из элемента tab.

Это будет работать, если проблема связана с странным поведением Firefox с display: none.

0 голосов
/ 03 ноября 2008

Спасибо за ваш ответ, однако моя проблема в настоящее время заключается в том, что FreeTextBox находится внутри панели вкладок AJAX, поэтому мне пришлось бы реконструировать всю функциональность вкладки, чтобы сделать это, и у меня нет достаточного времени!

Что бы это ни стоило, я близок к решению (я думаю), установив для атрибута .ReadOnly FTB значение true, а затем вернув его в false на контроллере .PreRender. Она работает в первый раз, когда страница загружается, поэтому теперь мне нужно выяснить, как правильно реализовать это для каждой обратной передачи.

Я опубликую решение, если найду его!

В любом случае, спасибо!

0 голосов
/ 31 октября 2008

Firefox имеет проблему с тем, чтобы быть внутри чего-либо со стилем отображения: нет. Я использовал div с zIndex, который скрывал div до тех пор, пока он мне не понадобился. Я бы начал там.

...