1) adding onkeydown = "handleClickEvent(this, event)" to the control in the .ascx and then this javascript:
function handleClickEvent(sender, args) {
argsargs = args || window.event;
if (args.keyCode == 13) {
args.cancelBubble = true;
args.returnValue = false;
if (args.preventDefault) args.preventDefault();
if (args.stopPropagation) args.stopPropagation();
}
}
2) Adding this tag <ClientEvents OnKeyPress="disableEnterKey" /> in the RadTextBox tag, calling this script:
function disableEnterKey(sender, eventArgs) {
var key = eventArgs.get_keyCode();
if (key && key == 13)
eventArgs.set_cancel(true);
}
6 Answers, 1 is accepted

Please try the sample code snippet to disable the enter key,make sure you have set AllowKeyboardNavigation="false".If this doesn't help,please provide your full code snippet.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"false"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridTemplateColumn
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"RadTextBox"
runat
=
"server"
ClientEvents-OnKeyPress
=
"disableEnterKey"
>
</
telerik:RadTextBox
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
AllowKeyboardNavigation
=
"false"
>
</
ClientSettings
>
</
telerik:RadGrid
>
JS:
<script type=
"text/javascript"
>
function
disableEnterKey(sender, args) {
if
(args.get_keyCode() ==
'13'
)
args.set_cancel(
true
);
}
</script>
Thanks,
Shinu


If you want to disable Enter key for a RadTextBox,just cancel the event in OnKeyPress event.Please try the following code snippet.
ASPX:
<
telerik:RadTextBox
ID
=
"TextBox1"
runat
=
"server"
ClientEvents-OnKeyPress
=
"disableEnterKey"
>
</
telerik:RadTextBox
>
JS:
<script type=
"text/javascript"
>
function
disableEnterKey(sender, args) {
if
(args.get_keyCode() ==
'13'
)
args.set_cancel(
true
);
}
</script>
Thanks,
Shinu

Hello, I would like to ask how to disable enter key, but only when there is no valuechange. When I apply Shinu's suggestion, then onvaluechange client side event is never fired on enter key press.
I hope you will understand my needs...
Best regards
Vasssek
Cancelling the keypress makes it as if the key was never pressed, so the textbox will never receive the Enter command, so it is expected that further events will not fire.
I am not sure I understand your scenario completely, but here's an example that checks whether the original value changed before cancelling enter:
<telerik:RadTextBox ID=
"TextBox1"
runat=
"server"
ClientEvents-OnLoad=
"storeOrigValue"
ClientEvents-OnKeyPress=
"disableEnterKey"
>
</telerik:RadTextBox>
<script type=
"text/javascript"
>
function
storeOrigValue(sender, args) {
sender.__origValue = sender.get_value();
}
function
disableEnterKey(sender, args) {
//note that get_value() is the value before the new key was pressed https://docs.telerik.com/devtools/aspnet-ajax/controls/textbox/client-side-programming/events/onkeypress
//so this check will work if the initial value was not changed only, attemting to look for a change by a
//different key is to be done in onValueChanging https://docs.telerik.com/devtools/aspnet-ajax/controls/textbox/client-side-programming/events/onvaluechanging
//for getting the value while the user is typing see https://docs.telerik.com/devtools/aspnet-ajax/controls/textbox/client-side-programming/radtextbox-client-object
if
(sender.get_textBoxValue() == sender.__origValue &&
args.get_keyCode() ==
'13'
) {
alert(
"preventing key press"
);
args.set_cancel(
true
);
}
}
</script>
Regards,
Marin Bratanov
Progress Telerik

Hi Marin,
thank you for this explanation. I was thinking about something similar - compare values before and after change. Your suggestion will help me to achieve my request... And I'm sure it will help some others, too.
Have a nice day.