私は AJAX コントロール ツールキットの HTML エディターを使用していますが、簡単な質問をしたいと思っています。質問のタイトルが示すように、javascript を介して HTML エディターのコンテンツを取得/設定するにはどうすればよいですか?
サーバー側のコンテンツ プロパティに問題なくアクセスできますが、クライアント側ではどうすればよいですか?
どんな助けでもありがたく受け取りました!
私は AJAX コントロール ツールキットの HTML エディターを使用していますが、簡単な質問をしたいと思っています。質問のタイトルが示すように、javascript を介して HTML エディターのコンテンツを取得/設定するにはどうすればよいですか?
サーバー側のコンテンツ プロパティに問題なくアクセスできますが、クライアント側ではどうすればよいですか?
どんな助けでもありがたく受け取りました!
AjaxControlToolkit.ExtenderControlBase
Html エディターは、継承(サーバー側) も継承AjaxControlToolkit.BehaviorBase
(クライアント側) も行わないため、独自の Ajax Control Toolkit コントロールの 1 つです。
$find
そのため、javascript メソッドを使用してクライアントの動作インスタンスにアクセスすることはできません。 AjaxControlToolkit.ScriptControlBase
(サーバー側) とSys.UI.Control
(クライアント側) を継承します。
クライアント上のコントロール インスタンスへのアクセスを取得するには、次のように DOM 要素自体のコントロール プロパティを使用します。
<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>
上記の答えは私にとってはうまくいきませんでした。そのため、htmlを掘り下げて、次の作業ソリューションを取得する必要がありました。何年もの間機能しており、多くのフレームワーク/OS/ブラウザーの更新/アップグレードを生き延びました。
<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>
$(function(){
$find("editor").set_content("jQuery set content");
alert($find("editor").get_content());
});