javascript - 如何从客户端清除/设置具有 Ajax Control Toolkit HTML Editor Extender 的 Asp.Net TextBox 的值?

标签 javascript jquery ajaxcontroltoolkit

我正在使用 ACT 4.1.7.607。客户端是IE 9。

我找不到可以从客户端清除编辑器内容的解决方案。

我尝试过使用 JQuery:

    <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" height="200px" Width="837px"></asp:TextBox>
    <ajaxToolkit:HtmlEditorExtender ID="htmlEditorExtender" TargetControlID="TextBox1" runat="server" EnableSanitization="False"></ajaxToolkit:HtmlEditorExtender>
    <br /> 
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Submit" />
    <asp:Button ID="Button2" runat="server" Text="Clear" />
    <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $('#<%=Button2.ClientID%>').click(function () {
                var editorControl = $get("<%=TextBox1.ClientID%>");
                var clearValue = '';
                editorControl.innerHTML = clearValue;
            }) 
        }) 
    </script> 

这似乎改变了文本框的innerHTML 值。但是,屏幕不会更新以显示更改。

也尝试过 JavaScript:

    <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" height="200px" Width="837px"></asp:TextBox>
    <ajaxToolkit:HtmlEditorExtender ID="htmlEditorExtender" TargetControlID="TextBox1" runat="server" EnableSanitization="False"></ajaxToolkit:HtmlEditorExtender>
    <br /> 
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Submit" />
    <asp:Button ID="Button2" runat="server" Text="Clear" OnClientClick="javascript:clearEditor()" />
    <script type="text/javascript" language="javascript"> 
        function clearEditor(){ 
            document..getElementById('<%=TextBox1.ClientID%>').innerHTML = '';
        }
    </script>

这似乎也改变了innerHTML值,但是,它同样不会在浏览器窗口中显示变化。

我见过一些涉及扩展器的 div 容器或扩展器的“ExtenderContentEditable”属性或扩展器的“setContent”方法的“解决方案” - 这些在我的世界中都不存在。

如果有解决方案,我将非常感激。

最佳答案

您可以使用此脚本:

function clearHtmlExtender(){
    var extender = $find("<%= htmlEditorExtender.ClientID %>");
    extender._editableDiv.innerHTML = "";
    extender._editableDiv_onblur();
}

简短描述:上面的脚本重置可编辑 div (_editableDiv.innerHTML) 的内容,然后强制扩展程序将此 hrml 分配给目标文本框。

关于javascript - 如何从客户端清除/设置具有 Ajax Control Toolkit HTML Editor Extender 的 Asp.Net TextBox 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452804/

相关文章:

javascript - 使用 javascript 打印时不出现 Ajax 评级控件

javascript - 无法在网页上获取 m4a 音频文件的长度

javascript - 按标签名称删除元素

javascript - Firefox 移动版阻止 iframe 内的输入

jquery - select2 上触发模糊

c# - 使用 Ajax 控件在 asp.net 中使用 AutoSuggest

javascript - 在 JavaScript 中,如何将一个对象数组与另一个对象数组合并?

jquery - 给一个 "text-align: center"的 div 一个 "text-align: left"仅用于包装内容

jquery 计数 xml 节点

asp.net - HtmlEditorExtender 默认样式