2010-07-27 5 views
3

저는 AJAX Control 툴킷 HTML 편집기를 사용하고 있으며 간단한 질문 만하고 있습니다. 질문 제목에 - 어떻게 자바 스크립트를 통해 HTML 편집기의 내용을 가져 오거나 설정합니까?AJAX Control Toolkit HTML 편집기를 사용하여 자바 스크립트를 통해 콘텐츠를 가져 오거나 설정하는 방법은 무엇입니까?

서버 쪽 콘텐츠 속성에 액세스하는 데 문제가 없지만 클라이언트 쪽에서는 어떻게해야합니까?

도움을 주신 모든 분들께 감사드립니다.

답변

8

Html 편집기는 AjaxControlToolkit.ExtenderControlBase (서버 측)을 상속하지 않으며 AjaxControlToolkit.BehaviorBase (클라이언트 측)을 상속하지 않기 때문에 고유 한 Ajax 제어 툴킷 컨트롤 중 하나입니다.

$find javascript 메서드를 사용하여 클라이언트의 비헤이비어 인스턴스에 액세스 할 수 없으므로 AjaxControlToolkit.ScriptControlBase (서버 측)과 Sys.UI.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> 
+0

완벽한 덕분에! –

+0

간단하고 매우 유용합니다 ... 감사합니다. – void

0
$(function(){ 
    $find("editor").set_content("jQuery set content"); 
    alert($find("editor").get_content()); 
}); 
0

나를 위해 작동하지 않았다 다음과 같이

하면 클라이언트에서 인스턴스를 제어하는 ​​액세스를 얻으려면, 당신은 DOM 요소 그 자체에서 제어 속성을 사용합니다. 그래서 나는 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> 
관련 문제