2012-10-23 2 views
0

, 나는 제대로 편집기의 콘텐츠에 액세스, C#을에서 AjaxToolkitAJAX 컨트롤 툴킷 제어 편집기 자바 스크립트 내 영문에서 액세스

<div> 
    <ajaxToolkit:Editor ID="Editor" runat = "server" /> 
</div> 

에서 편집기 컨트롤을 렌더링하는 코드를 다음 코드를 가지고 단순히 :

Editor.Content = "some text here" 

그러나 JavaScript에서는이 방법에 액세스 할 수 없습니다. 지금까지 시도 :

var st =$find('<%=Editor.ClientID%>').get_content(); 

그러나 $ find 문은 null 값을 반환합니다.

답변

1

정상 작동합니다. 다음 코드를 시도하고 편집기 구성 요소가 성공적으로 발견되었습니다.

<asp:ScriptManager runat="server" ID="ScriptManager" EnablePartialRendering="true"> 
    <Scripts> 
     <asp:ScriptReference Path="Scripts/jquery-1.4.1.js" /> 
    </Scripts> 
</asp:ScriptManager> 

<div> 
    <ajax:Editor runat="server" ID="Editor"></ajax:Editor> 
</div> 

<script type="text/javascript"> 
    Sys.Application.add_load(function() { 
     Sys.Debug.traceDump($find('<%= Editor.ClientID %>'), "editor"); 
    }); 

</script> 

그래서 Sys.Application.add_load 이벤트 처리기에서 편집기에 액세스 해보십시오. 이것이 도움이 될 경우 문제의 원인은 페이지가 구성 요소 초기화를 완료하기 전에 구성 요소를 찾으려고한다는 것입니다.

0

이 기능을 장난 후, 나는 HTML은 다음과 같습니다 것으로 나타났습니다 :

<div id ="myDiv" ClientIDMode="Static"> 
    <ajaxToolkit:Editor ID="Editor" runat = "server" /> 
</div> 
: 영문에서

<iframe id = "Some iFrameId"> 
    #document 
    <html> 
     <head>...</head> 
     <body>The text of the editor</body> 
    </html> 
</iframe> 

, 나는 내 인생 저 작은 조금 쉽게하기 위해 다음과 같은했다

이렇게하면 편집기의 HTML이 포함 된 myDiv에 포함 된 iFrame을 찾기 위해 문제를 단순화했습니다.

는 내가 찾던 무엇 JS

//get the iFrame 
var myIframe = $("#myDiv, iframe") //this returns an array and myIframe[1] is the iFrame, which contains the text. 
//get the HTML from the iFrame 
var content = myIFrame[1].contentWindow.document.body.innerHTML; 

지금 내용이 포함되어에서 그렇게합니다. 길기 때문에 더 쉬운 방법이있을 수 있지만 솔루션을 검색 한 후 대부분을 찾았습니다.

내 경우에는 작동하지 않는 .get_content 또는 일부 함수 호출을 수행합니다. .

관련 문제