[英]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.