Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > alert () вместо sleep ()


Автор: artemiusgreat 14.11.2008, 13:34
День добрый.
К сожалению у меня возникла проблема, которую я обойти без посторонней помощи уже не могу.
Я сейчас пытаюсь сделать динамическое переключение редактора FCKEditor на обычное Textarea.
Все бы хорошо, НО при отправке данных формой, в которой это все содержится отправляется содержимое именно редактора, а не Textarea, ПОЭТОМУ я решил добавить на OnSubmit функцию, переписывающую данные при отправке из Textarea в редактор.
И это заработало ... НО только если вконце этого обработчика добавить alert ('ok').
Мне кажется что данные просто не успевают перезаписаться из Textarea в редактор при отправке, а alert () в это случае работает как sleep (), давая обработчику OnSubmit выполнится.
Вот обработчик:

Код

function SetEditorData () {
    var VaArea = document.getElementById ("control").getElementsByTagName ("textarea");                    // берем все textarea в form.id = "control"
    for (var VnIndex = 0; VnIndex < VaArea.length; VnIndex++)
        if (VaArea [VnIndex].style.display != "none") {                                                                            // если textarea видна, значит она активна, а редактор - нет и надо переписать данные в него
            var VsName = VaArea [VnIndex].id.substr (0, VaArea [VnIndex].id.indexOf ("___"));
            SetVisualBlock (VsName);                                                                                                 // переписываем
            alert ("ok");
        }
}


Вопрос:
Может быть кто-нибудь может мне рассказать в чем заключается принцип работы alert () и каким образом он оказывает такое действие на скрипт и как можно реализовать этот спасительный alert () - sleep () без использования этой функции.
P.S. Желательно без Date и setTimeout.
Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)