Hi,
I have a RadEditor in my page. I want to limit the maximum number of characters entered. I need not to dispaly the message if the maximum character is reached. But i need to block the characters entered by the user if it reached the maximum length. Please give the solution for this problem.
Thanks,
Velkumar
I have a RadEditor in my page. I want to limit the maximum number of characters entered. I need not to dispaly the message if the maximum character is reached. But i need to block the characters entered by the user if it reached the maximum length. Please give the solution for this problem.
Thanks,
Velkumar
6 Answers, 1 is accepted
0

Princy
Top achievements
Rank 2
answered on 13 Jan 2012, 11:41 AM
0

Velkumar
Top achievements
Rank 2
answered on 13 Jan 2012, 01:25 PM
Hi,
I got the following code
function isAlphaNumericKey(keyCode) {
if ((keyCode > 47 && keyCode < 58) || (keyCode > 64 && keyCode < 91)) {
return true;
}
return false;
}
function LimitCharacters(editor) {
editor.attachEventHandler("onkeydown", function (e) {
e = (e == null) ? window.event : e;
if (isAlphaNumericKey(e.keyCode)) {
textLength = editor.get_text().length;
if (textLength >= maxTextLength) {
e.returnValue = false;dd
return false;
}
}
});
editor.attachEventHandler("onpaste", function (e) {
var textLength = CalculateLength(editor);
if (textLength >= maxTextLength) {
alert(messageText);
e.returnValue = false;
e.cancelBubble = true;
return false;
}
});
}
But it doesn't work in Firefox
I got the following code
function isAlphaNumericKey(keyCode) {
if ((keyCode > 47 && keyCode < 58) || (keyCode > 64 && keyCode < 91)) {
return true;
}
return false;
}
function LimitCharacters(editor) {
editor.attachEventHandler("onkeydown", function (e) {
e = (e == null) ? window.event : e;
if (isAlphaNumericKey(e.keyCode)) {
textLength = editor.get_text().length;
if (textLength >= maxTextLength) {
e.returnValue = false;dd
return false;
}
}
});
editor.attachEventHandler("onpaste", function (e) {
var textLength = CalculateLength(editor);
if (textLength >= maxTextLength) {
alert(messageText);
e.returnValue = false;
e.cancelBubble = true;
return false;
}
});
}
But it doesn't work in Firefox
function isAlphaNumericKey(keyCode) {
if ((keyCode > 47 && keyCode <
58
) || (keyCode > 64 && keyCode <
91
)) {
return true;
}
return false;
}
function LimitCharacters(editor) {
editor.attachEventHandler("onkeydown", function (e) {
e = (e == null) ? window.event : e;
if (isAlphaNumericKey(e.keyCode)) {
textLength
=
editor
.get_text().length;
if (textLength >= maxTextLength) {
e.returnValue = false;dd
return false;
}
}
});
editor.attachEventHandler("onpaste", function (e) {
var textLength = CalculateLength(editor);
if (textLength >= maxTextLength) {
alert(messageText);
e.returnValue = false;
e.cancelBubble = true;
return false;
}
});
}
0
Hi,
Which version of Firefox do you use? The onpaste event is supported by Firefox 4 and above. You should not experience problems with the onkeydown event.
Make sure that you are using the latest version of RadControls for ASP.NET AJAX too. This code will not work for RadEditor Classic (RadEditor.Net2.dll).
Greetings,
Rumen
the Telerik team
Which version of Firefox do you use? The onpaste event is supported by Firefox 4 and above. You should not experience problems with the onkeydown event.
Make sure that you are using the latest version of RadControls for ASP.NET AJAX too. This code will not work for RadEditor Classic (RadEditor.Net2.dll).
Greetings,
Rumen
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0

Velkumar
Top achievements
Rank 2
answered on 14 Jan 2012, 05:00 AM
Hi,
I am using Firefox 8.0 and telerik version 2010.
Thanks,
Velkumar.
I am using Firefox 8.0 and telerik version 2010.
Thanks,
Velkumar.
0
Hello,
I tested the OnClientPasteHtml event and the onpaste events in Firefox 9 and verified that both events are fired in this browser.
and
My suggestion is to install the latest version of Telerik.Web.UI.dll and test again. It is Q3 2011 SP1 (2011.3.1305).
Best regards,
Rumen
the Telerik team
I tested the OnClientPasteHtml event and the onpaste events in Firefox 9 and verified that both events are fired in this browser.
<script type=
"text/javascript"
>
var
maxTextLength = 30;
var
messageText =
'You are not able to type more than '
+ maxTextLength +
' symbols!'
;
function
isAlphaNumericKey(keyCode) {
if
((keyCode > 47 && keyCode < 58) || (keyCode > 64 && keyCode < 91)) {
return
true
;
}
return
false
;
}
function
LimitCharacters(editor) {
editor.attachEventHandler(
"keydown"
,
function
(e) {
e = (e ==
null
) ? window.event : e;
if
(isAlphaNumericKey(e.keyCode)) {
textLength = editor.get_text().length;
if
(textLength >= maxTextLength) {
alert(messageText);
e.returnValue =
false
;
return
false
;
}
}
});
}
function
CalculateLength(editor, value) {
var
textLength = editor.get_text().length;
var
clipboardLength = value.length;
textLength += clipboardLength;
return
textLength;
}
function
OnClientPasteHtml(editor, args) {
var
commandName = args.get_commandName();
var
value = args.get_value();
if
(commandName ==
"PasteFromWord"
|| commandName ==
"PasteFromWordNoFontsNoSizes"
|| commandName ==
"PastePlainText"
|| commandName ==
"PasteAsHtml"
|| commandName ==
"Paste"
) {
var
textLength = CalculateLength(editor, value);
if
(textLength >= maxTextLength) {
alert(
"You are not allowed to enter more that 30 symbols"
);
args.set_cancel(
true
);
}
}
}
</script>
<telerik:RadEditor id=
"RadEditor1"
OnClientPasteHtml=
"OnClientPasteHtml"
OnClientLoad=
"LimitCharacters"
Runat=
"server"
>
<Content></Content>
</telerik:RadEditor>
and
<span id=
"counter"
style=
"border: 1px solid red;text-align: right;"
>Characters left:</span>
<telerik:RadEditor ID=
"RadEditor"
StripFormattingOptions=
"nonesupresscleanmessage"
runat=
"server"
OnClientLoad=
"OnClientLoad"
>
</telerik:RadEditor>
<script type=
"text/javascript"
>
var
limitNum = 250;
var
message =
'You are not able to type more than '
+ limitNum +
' characters!'
;
var
counter = $get(
'counter'
);
function
LimitLength(mode)
{
var
rtfEditor = $find(
"<%=RadEditor.ClientID %>"
);
if
(mode == 2){
var
oValue = rtfEditor.get_textArea().innerHTML.trim().length;
}
else
{
var
oValue = rtfEditor.get_html(
true
).trim();}
if
(oValue.length >= limitNum)
{
rtfEditor.set_html(oValue.substring(0, limitNum - 1));
alert(message);
}
counter.innerHTML =
"Characters left: "
+ ( limitNum - oValue.length );
}
function
AttachHandlers(mode)
{
var
rtfEditor = $find(
"<%=RadEditor.ClientID %>"
);
if
(mode==1)
{
rtfEditor.attachEventHandler(
"onkeyup"
, LimitLength);
rtfEditor.attachEventHandler(
"onpaste"
, LimitLength);
rtfEditor.attachEventHandler(
"onblur"
, LimitLength);
}
else
{
var
textarea = rtfEditor.get_textArea();
//returns a reference to the textarea in Html mode
if
(window.attachEvent)
{
textarea.attachEvent(
"onkeydown"
, LimitLength);
textarea.attachEvent(
"onpaste"
, LimitLength);
textarea.attachEvent(
"onblur"
, LimitLength);
}
else
{
textarea.addEventListener(
"keyup"
,LimitLength,
true
);
textarea.addEventListener(
"paste"
, LimitLength,
true
);
textarea.addEventListener(
"blur"
, LimitLength,
true
);
}
}
}
function
OnClientLoad(editor, args)
{
rtfEditor = editor;
AttachHandlers(1);
LimitLength(1);
editor.add_modeChange(
function
(sender, args)
{
var
mode = sender.get_mode();
if
(mode == 1 || mode == 2)
{
AttachHandlers(mode);
LimitLength(mode);
}
});
}
</script>
My suggestion is to install the latest version of Telerik.Web.UI.dll and test again. It is Q3 2011 SP1 (2011.3.1305).
Best regards,
Rumen
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0

Greg
Top achievements
Rank 1
answered on 01 Oct 2014, 04:24 PM
I can't figure out any onkeydown cancel function that works with FireFox 30+. Works great and cancels with IE, but not FF. We implemented 3 different cancel functions and none work to cancel onkeydown.
$telerik.cancelRawEvent(e);
e.returnValue = false;
return false;
Any suggestions?
function EditorCheckCountHandler(e, id) {
//Get TextArea and Properties
e = (e == null) ? window.event : e;
if (isAlphaNumericKey(e.keyCode)) {
var editor = $find(id);
if (!EditorCheckCount(editor)) {
$telerik.cancelRawEvent(e);
e.returnValue = false;
return false;
}
}
}
$telerik.cancelRawEvent(e);
e.returnValue = false;
return false;
Any suggestions?
function EditorCheckCountHandler(e, id) {
//Get TextArea and Properties
e = (e == null) ? window.event : e;
if (isAlphaNumericKey(e.keyCode)) {
var editor = $find(id);
if (!EditorCheckCount(editor)) {
$telerik.cancelRawEvent(e);
e.returnValue = false;
return false;
}
}
}