Установка текста в инструментарии 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, и правильно ссылаться на него.