我正在使用AJAX Control工具包HTML编辑器,我希望这是一个简单的问题。正如问题标题所说 - 你如何通过javascript获取/设置HTML编辑器的内容?
我访问服务器端内容属性时没有问题 - 但如何在客户端进行?
感激不尽的任何帮助!
答案 0 :(得分:8)
Html编辑器是唯一的Ajax Control Toolkit控件之一,因为它不继承AjaxControlToolkit.ExtenderControlBase
(服务器端),也不继承AjaxControlToolkit.BehaviorBase
(客户端)。
因此,您无法使用$find
javascript方法访问客户端上的行为实例,它继承AjaxControlToolkit.ScriptControlBase
(服务器端)和Sys.UI.Control
(客户端)。< / p>
要访问客户端上的控件实例,可以使用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>
答案 1 :(得分:0)
$(function(){
$find("editor").set_content("jQuery set content");
alert($find("editor").get_content());
});
答案 2 :(得分: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>