2013-10-24 6 views
1

나는 하루의 대부분을이 문제를 알아 내기 위해 노력하고, 그래서 어떤 도움은 매우 매우 환영받을 것입니다 ...설정 텍스트

<body> 
<form id="form1" runat="server"> 
<script type="text/javascript"> 
    $(function() { 
    ChangeText("This is the changed text from the document ready function"); 
    }); 

    function ChangeText(newText) { 
    var editorControl = $("#txtHTMLEditor"); 

    editorControl[0].value = newText; 
    } 

</script> 
<div> 
    <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </ajaxToolkit:ToolkitScriptManager> 

    <div id="divTemp" style="display: block"> 
    <asp:TextBox runat="server" ID="txtHTMLEditor" TextMode="MultiLine" Rows="25" Width="100%" Text="<b>This is test text</b>" /><br /> 
    <ajaxToolkit:HtmlEditorExtender ID="htmlEditorExtender1" TargetControlID="txtHTMLEditor" runat="server" DisplaySourceTab="true"> 
    </ajaxToolkit:HtmlEditorExtender> 
    </div> 

    <input type="button" onclick="ChangeText('This is the changed text from the button click event'); return false;" value="Perform Change"> 
</div> 
</form> 

위의 코드는 문서 준비 이벤트에서 HTML 편집기의 텍스트를 완벽하게 변경하지만 버튼을 클릭하면 아무 것도 수행하지 않습니다.

두 인스턴스에서 텍스트 영역의 값이 변경되면서 동일한 JavaScript 함수 (ChangeText())가 실행되지만 버튼 클릭 이벤트의 경우 텍스트 영역에 변경 내용이 표시되지 않습니다.

어떤 아이디어가 좋을까요?

+0

버튼 클릭시 반드시 트리거되어야합니다. http://jsfiddle.net/maEWb/ –

+0

텍스트 영역 텍스트를 제대로 업데이트하지 않았을 가능성이 큽니다. 그것은 자바 스크립트 상호 작용을위한 문서가 무엇이든간에 그것을 봐라. –

답변

0

당신은 HTMLEditorExtender의 클라이언트 측 인터페이스를 통해 텍스트를 변경해야 다음 HtmlEditorExtender의 HTML 내용의

function ChangeText(newText) { 
    var editorControl = $find("<%=htmlEditorExtender1.ClientID%>"); 
    editorControl._editableDiv.innerHTML = newText; 
    } 
0

위치는 시간이 지남에 따라 변경 될 수 있습니다. 이것이 툴킷 버전 7.1005에서 내가 한 일입니다.

  var htmlSource = $('#<%= DescriptionEnglishEditor.ClientID %>Extender_ExtenderContentEditable').html(); 
      $('#<%= DescriptionFrenchEditor.ClientID %>Extender_ExtenderContentEditable').html(htmlSource); 

핵심은 HTML을 저장하고있는 DOM에서 개체를 찾아 올바르게 참조하는 것입니다.