簡體   English   中英

ckediter配備的文本框限制了字符數

[英]ckediter equiped textbox restricting number of characters

盡管有兩個較舊的問題與該主題相關,但它們並沒有處理Webforms,這正是我正在使用的Webforms,並且代碼似乎也沒有啟動。

在需要收集rtf數據的ASP.NET Web表單應用程序中,我使用ckeditor啟用了多個字段以允許rtf輸入(存儲為html)。 在這些字段中的某些字段上,我需要一種限制輸入的方法。

要在表格/表格中限制的元素:

<tr>
    <td>
        <asp:Label ID="LabelResponseA" runat="server">Response A</asp:Label>
    </td>
    <td>
        <asp:TextBox ID="ResponseA" Columns="50" Rows="2" TextMode="MultiLine" 
            runat="server" CssClass="ckeditor"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
            Text="* Response A Required" ControlToValidate="ResponseA" 
            SetFocusOnError="true" Display="Dynamic"></asp:RequiredFieldValidator>
    </td>
</tr>

javascript代碼塊,用於限制字符:

</script>
<script type="text/javascript">
 $(function() {            
        $("[id$=ResponseA]").on('key',function(event){
            var deleteKey = 46;
            var backspaceKey = 8;
            var keyCode = event.data.keyCode;
            if (keyCode === deleteKey || keyCode === backspaceKey)
                return true;
            else
            {
                var textLimit = 50;
                var str = $("[id$=ResponseA]").getData();
                if (str.length >= textLimit)
                    return false;
            }
        });    
    });
</script>

您可以使用編輯器“鍵”事件並檢查編輯器的正文文本長度。

如果您的編輯器的文本區域名為ResponseA

var textLimit = 50;

CKEDITOR.instances.ResponseA.on('key', function (evt) {
    if (CKEDITOR.instances.ResponseA.document.getBody().getText().length > textLimit) evt.cancel();
});

您可以進一步擴展此裸露的示例,以滿足您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM