0

In my aspx, I have the following snippet of code, which correctly renders the Editor Control from the AjaxToolkit

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

In C#, to access the content of the Editor is simply:

Editor.Content = "some text here"

However in JavaScript, I am unsure how to access this. So far, I have tried:

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

However the $find statement is returning a null value.

2 Answers 2

1

It should work. I tried the following code and editor component was found successfully.

<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>

So, try to access you editor in Sys.Application.add_load event handler. If this will help you then the cause of the problem is that you tries to find component before page completes component initialization.

Sign up to request clarification or add additional context in comments.

Comments

0

After playing around with this feature, I noticed that the HTML looks like this:

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

In the ASPX, I did the following to make my life a litle bit easier:

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

By doing this, I have simplified my problem to become find the iFrame enclosed in myDiv, which contains the HTML of the editor.

To do that in the 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;

Now content contains, what I was looking for. This is kind of long, and there might be an easier way, but after searching for a solution, I found most of them to be:

do a .get_content or some function call, which didn't work for my case.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.