The following is text I entered in RadEditor box:
This is a test message, but the count is not coming out quite right. What shall I do, this text is not pasted, but manually entered. Does that make a difference?
Characters: 157
but in code behind the length of text shows 163
See code below:
<
script type="text/javascript">
MyModule =
function(element)
{
MyModule.initializeBase(
this, [element]);
}
MyModule.prototype =
{
initialize :
function()
{
MyModule.callBaseMethod(
this, 'initialize');
var selfPointer = this;
this.get_editor().add_selectionChange(function (){ selfPointer.CountCharAction(); });
this.get_editor().attachEventHandler("onkeyup", function(){ selfPointer.CountCharAction(); });
this.CountCharAction();
},
//A method that does the actual work - it is usually attached to the "selection changed" editor event
CountCharAction :
function()
{
var content = this.get_editor().get_html(true);
var chars = 0;
if (content)
{
punctRegX = /[!\.?;,:&_\-\-\{\}\[\]\(\)~#
'"]/g;
content = content.replace(punctRegX,
"");
trimRegX = /(^\s+)|(\s+$)/g;
content = content.replace(trimRegX,
"");
if (content)
{
splitRegX = /\s+/;
var array = content.split(splitRegX);
chars = content.length;
}
}
var element = this.get_element();
element.innerHTML = "<span style='line-height:22px; float:left;'>" + " Characters: " + chars + " </span>"
element.style.border = "1px solid red";
element.style.backgroundColor =
"transparent";
element.style.color =
"red";
}
};
MyModule.registerClass(
'MyModule', Telerik.Web.UI.Editor.Modules.ModuleBase);
</script>
<
telerik:RadEditor ID="tbBody" runat="server" Skin="Web20" Width="500px" Height="400px"
EditModes="Design">
<Modules>
<telerik:EditorModule Name="RadEditorStatistics" Enabled="true" Visible="false" />
<telerik:EditorModule Name="MyModule" Enabled="true" Visible="true" />
</Modules>
<Tools>
<telerik:EditorToolGroup>
<telerik:EditorTool Name="Cut" />
<telerik:EditorTool Name="Copy" />
<telerik:EditorTool Name="Paste" />
<telerik:EditorSeparator />
<telerik:EditorTool Name="JustifyLeft" />
<telerik:EditorTool Name="JustifyCenter" />
<telerik:EditorTool Name="JustifyRight" />
</telerik:EditorToolGroup>
</Tools>
</telerik:RadEditor>
Code behind (shows count of 163):
string
body = tbBody.Content.Trim();
body = utils.stripHTML(body).Trim();
if
(body.Length > 1250)
{
errorMessage(
string.Format("Error: Comments can not exceed 1250 characters!"));
return;
}