Установка текста в инструментарии Ajax htmleditorextender по событию нажатия кнопки

Я пытался выяснить это в течение большей части дня, поэтому любая помощь будет очень, очень приветствуется...

<body>
<form id="form1" runat="server">
<script type="text/javascript">
  $(function () {
    ChangeText("This is the changed text from the document ready function");
  });

  function ChangeText(newText) {
    var editorControl = $("#txtHTMLEditor");

    editorControl[0].value = newText;
  }

</script>
<div>
  <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
  </ajaxToolkit:ToolkitScriptManager>

  <div id="divTemp" style="display: block">
    <asp:TextBox runat="server" ID="txtHTMLEditor" TextMode="MultiLine" Rows="25" Width="100%" Text="<b>This is test text</b>" /><br />
    <ajaxToolkit:HtmlEditorExtender ID="htmlEditorExtender1" TargetControlID="txtHTMLEditor" runat="server" DisplaySourceTab="true">
    </ajaxToolkit:HtmlEditorExtender>
  </div>

  <input type="button" onclick="ChangeText('This is the changed text from the button click event'); return false;" value="Perform Change">
</div>
</form>

Приведенный выше код прекрасно меняет текст в редакторе html в событии готовности документа, но ничего не делает, если я нажимаю кнопку.

Оба события запускают одну и ту же функцию javascript (ChangeText()), причем значение текстовой области изменяется в обоих случаях, но это изменение не отображается в текстовой области в случае события нажатия кнопки.

Есть идеи почему бы и нет?

2 ответа

Вам нужно изменить текст через клиентский интерфейс HTMLEditorExtender:

  function ChangeText(newText) {
    var editorControl = $find("<%=htmlEditorExtender1.ClientID%>");
    editorControl._editableDiv.innerHTML = newText;
  }

Расположение HTML-содержимого HtmlEditorExtender, возможно, со временем изменилось. Вот как я это сделал в версии 7.1005 инструментария.

            var htmlSource = $('#<%= DescriptionEnglishEditor.ClientID %>Extender_ExtenderContentEditable').html();
            $('#<%= DescriptionFrenchEditor.ClientID %>Extender_ExtenderContentEditable').html(htmlSource);

Ключ заключается в том, чтобы найти объект в DOM, в котором хранится HTML, и правильно ссылаться на него.

Другие вопросы по тегам