1

私は一日のほとんどの間これを理解しようとしてきたので、どんな助けも大歓迎です...

<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()) を起動し、両方のインスタンスでテキスト領域の値が変更されますが、ボタン クリック イベントの場合、変更はテキスト領域に表示されません。

アイデアはありますか?

4

2 に答える 2

0

HTMLEditorExtender のクライアント側インターフェースを介してテキストを変更する必要があります。

  function ChangeText(newText) {
    var editorControl = $find("<%=htmlEditorExtender1.ClientID%>");
    editorControl._editableDiv.innerHTML = newText;
  }
于 2013-11-06T08:11:45.750 に答える