1

ACT 4.1.7.607 を使用しています。クライアントはIE9です。

クライアントからエディタの内容をクリアできる解決策が見つかりません。

私は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' メソッドについて言及している「ソリューション」を見てきましたが、私の世界にはこれらのどれも存在しません。

これに対する解決策がある場合は、それを見ていただければ幸いです。

4

1 に答える 1

0

次のスクリプトを使用できます。

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

簡単な説明: 上記のスクリプトで編集可能な div (_editableDiv.innerHTML) のコンテンツをリセットし、エクステンダーにこの hrml をターゲット テキスト ボックスに割り当てるように強制します。

于 2013-07-04T07:28:35.197 に答える