Скрытая ошибка FreeTextBox в Firefox
-
05-07-2019 - |
Вопрос
У меня проблема с Бесплатный текстовый ящик редактор расширенного текста на моем сайте ASP.NET .Проблема возникает, когда я захожу на сайт с помощью Firefox, и у меня есть экземпляр freetextbox в скрытом div.Скрытый div также может быть панелью вкладок AJAX.Реальная проблема заключается в том, что при загрузке страницы она выдает неперехваченное исключение (firebug показывает функцию StoreHtml()) и останавливает обратную отправку!!
Есть ли где-нибудь проблема и решение для нее??
Спасибо
Решение
Недавно я столкнулся с аналогичной проблемой с вкладками пользовательского интерфейса jQuery.Что вам нужно сделать, это изменить CSS для скрытых вкладок на что-то вроде:
.hiddentab
{
position: absolute;
left: -99999999999999;
}
При этом скрытые вкладки располагаются далеко слева, и в режиме абсолютного позиционирования это не приводит к появлению горизонтальных полос прокрутки.Когда вкладка будет показана, просто удалите класс hiddentab из элемента tab.
Это сработает, если проблема связана со странным поведением Firefox с отображением:Нет.
Другие советы
Я нашел другое решение проблемы на случай, если кто-то его ищет.Что я сделал, так это использовал 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();");
Надеюсь, это поможет кому-нибудь с такой же проблемой.
У Firefox есть проблема с нахождением внутри чего-либо со стилем отображения: none.Что я сделал, так это использовал div с zIndex, который скрывал div до тех пор, пока мне не понадобится его отображение.Я бы начал с этого.
Спасибо за ваш ответ, однако моя проблема в настоящее время заключается в том, что FreeTextBox находится внутри панели вкладок AJAX, поэтому мне пришлось бы реконструировать всю функциональность вкладки, чтобы сделать это, и у меня нет достаточного времени!
Как бы то ни было, я близок к решению (я думаю), установив для атрибута .ReadOnly FTB значение true, а затем вернув ему значение false в элементе управления .Предварительный просмотр.Это работает при первой загрузке страницы, так что теперь мне нужно выяснить, как правильно реализовать это для каждой обратной отправки.
Я опубликую решение, если найду его!
В любом случае, спасибо!