openWYSIWYG-редактор исчезает при обратной передаче

Он работает правильно каждый раз, когда страница загружается в первый раз. Однако когда мы делаем Postback, редактор исчезает только с текстовой областью. Обратная передача происходит из-за выпадающего списка на странице.

<asp:TextBox runat="server" ID="TBClosingInstructions" TextMode="MultiLine" Rows="8" Columns="40" TabIndex="2" Font-Name="Verdana"></asp:TextBox><script language="JavaScript">generate_wysiwyg('TBClosingInstructions');</script>

Я бы хотел, чтобы редактор оставался даже после обратной передачи. Я пробовал следующий код

if (Page.IsPostBack)
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script language=\"JavaScript\">generate_wysiwyg('TBClosingInstructions');</script>", true);
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientScript", "<script language=\"JavaScript\">generate_wysiwyg('TBClosingInstructions');</script>", true);
            }

Пробовал и registerStartupScript, и registerClientScriptBlock по отдельности, чтобы связать функции javascript в каждой обратной передаче. Но это не работает.

Есть ли альтернатива? Пожалуйста, предложите.

1 ответ

Есть несколько методов, которые прикрепляют редактор к текстовой области.

WYSIWYG.attach ("все", mysettings);

Это то, что я использовал, и это работало хорошо, если ваш контент / форма не были загружены динамически.

Глядя на исходный код, он присоединяется к событию загрузки. Вероятно, поэтому он не привязан.

WYSIWYG_Core.addEvent(window, "load", function generateEditor() { WYSIWYG._generate(id, settings); });

WYSIWYG.attachAll (MySettings);

Я обнаружил, что это работает (все текстовые области), снова просматривая исходный код, он ищет все текстовые области в DOM и не привязывается к событию.

var areas = document.getElementsByTagName("textarea");
for (var i = 0; i < areas.length; i++) {
    var id = areas[i].getAttribute("id");
    if (id == null || id == "") continue;
    this.setSettings(id, settings);
    WYSIWYG_Core.includeCSS(this.config[id].CSSFile);
    WYSIWYG._generate(id, settings);
}
Другие вопросы по тегам