openWYSIWYG-редактор исчезает при обратной передаче - PullRequest
0 голосов
/ 08 ноября 2010

Он работает правильно каждый раз, когда страница загружается в первый раз.Однако, когда мы делаем 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 Ответ

0 голосов
/ 24 августа 2011

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

WYSIWYG.attach ('all', 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);
}
...