3

我正在使用 AJAX Control 工具包 HTML 编辑器,我希望这是一个简单的问题。正如问题标题所说 - 你如何通过 javascript 获取/设置 HTML 编辑器的内容?

我访问服务器端内容属性没有问题 - 但如何在客户端呢?

任何帮助都感激不尽!

4

3 回答 3

8

Html Editor 是独特的 Ajax Control Toolkit 控件之一,因为它既不继承AjaxControlToolkit.ExtenderControlBase(服务器端)也不继承AjaxControlToolkit.BehaviorBase(客户端)。

所以你不能使用$findjavascript方法来访问客户端上的行为实例,它继承AjaxControlToolkit.ScriptControlBase(服务器端)和Sys.UI.Control(客户端)。

要访问客户端上的控件实例,您可以在它自身的 DOM 元素上使用 control 属性,如下所示:

<script type="text/javascript">
//considering the editor is loaded.
var editorControl = $get("<%=editor.ClientID%>").control;

//1. For setting content:
editorContorl.set_content("Sample Content");

//2. For getting content:
var content = editorContorl.get_content();    
</script>
于 2010-07-27T20:24:47.660 回答
0
$(function(){
    $find("editor").set_content("jQuery set content");
    alert($find("editor").get_content());
});
于 2012-06-01T16:05:22.393 回答
0

以上答案对我不起作用。所以我不得不挖掘 html 并得到以下工作解决方案。它已经工作了多年,并且在许多框架/操作系统/浏览器更新/升级中幸存下来。

<script type="text/javascript">
    var varcont = '<%=txtInstructions.ClientID %>' + '_ctl02_ctl00';
    //Get Content
    var content = document.getElementById(varcont).contentWindow.document.body.innerHTML; 

    //Set Content
    document.getElementById(varcont).contentWindow.document.body.innerHTML='<b>I rock</b>'
</script>
于 2013-11-26T15:41:23.843 回答