如何使用 AJAX Control Toolkit HTML 编辑器通过 javascript 获取/设置内容?

发布于 2024-09-11 17:48:43 字数 154 浏览 7 评论 0原文

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

我访问服务器端内容属性没有问题 - 但如何在客户端执行此操作?

非常感谢任何帮助!

I'm using the AJAX Control toolkit HTML editor and have what I hope is a simple question. As the question title says - how do you get/set the content of the HTML editor via javascript?

I have no problems accessing the server side content property - but how to do it client side?

Any help gratefully received !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

盗梦空间 2024-09-18 17:48:43

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

所以你不能使用$find javascript方法来访问客户端上的行为实例,它继承了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>

The Html Editor is one of the unique Ajax Control Toolkit controls, becuase it does not inherit AjaxControlToolkit.ExtenderControlBase (server side) nor inherit AjaxControlToolkit.BehaviorBase (client side).

So you can't use $find javascript method to get access to the behavior instance on the client, It inherits AjaxControlToolkit.ScriptControlBase (server side) and Sys.UI.Control (client side).

To get access to control instance on the client, you use the control property on the DOM element it self as follows:

<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>
放手` 2024-09-18 17:48:43
$(function(){
    $find("editor").set_content("jQuery set content");
    alert($find("editor").get_content());
});
$(function(){
    $find("editor").set_content("jQuery set content");
    alert($find("editor").get_content());
});
一生独一 2024-09-18 17:48:43

以上答案对我不起作用。
所以我必须深入研究 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>

Above answers didn't work for me.
So I had to dig through html and got following working solution. its working for years now and survived many framework/OS/browsers update/upgrade.

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文