2012-02-07 6 views
3

У меня есть Telerik Radgrid, содержащий все допустимые имена пользователей и пароли, которые можно использовать для разблокировки функциональных возможностей на моей веб-странице.Отмена нажатия клавиши [Enter] на Telerik RadGrid

Пароль зашифрован, поэтому вам нужно щелкнуть строку, чтобы расшифровать и показать фактический пароль. Все имена пользователей и пароли могут быть изменены администратором

Когда администратор нажимает [ENTER] для отправки новой комбинации имени пользователя/пароля (вместо нажатия кнопки отправки), новая комбинация фактически отправляется (это нормально).


Однако, моя проблема заключается в том, что, по умолчанию, RadGrid выбирает следующую строку, которая расшифровывает пароль и позволяет редактировать имя пользователя/пароль.

В идеале, нажатие [ENTER] приведет только к отправке комбинации имени пользователя и пароля, а не к выбору другой строки. Если это невозможно, нажатие [ENTER] ничего не должно делать.

Если попробовал следующий код: яваскрипт

<script type="text/javascript">     
    function KeyPressed(sender, eventArgs) { 
     if (eventArgs.get_keyCode() == 13) 
     { 
      alert("Cancelling event"); 
      eventArgs.set_cancel(true); 
     } 
    } 
</script> 

Оповещение окно поднимается, но [ENTER] событие не прерывается.

Редактировать: Обратите внимание, что предупреждение предназначено только для тестирования!

Я также добавил этот код на контроль RadGrid добавить Keypress Capture

<ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" ClientEvents-OnKeyPress="KeyPressed" AllowKeyboardNavigation="true"> 
     <Selecting AllowRowSelect="True" /> 
    </ClientSettings> 

Мой вопрос: Как я могу прервать [ENTER] нажатие клавиши событие? Или изменить его поведение? Любые намеки будут оценены


Я использую VB.net на Visual Studio 2008. Я использую ASP.net версии 2.0

ответ

6

Вот мой код Javascript, чтобы отменить событие на enterkey.

function CheckKey() { 
      if (event.keyCode == 13) { 
       CancelEvent(); 
      } 
     } 
function CancelEvent() { 
      var e = window.event; 

      e.cancelBubble = true; 
      e.returnValue = false; 
      if (e.stopPropagation) { 
       e.stopPropagation(); 
       e.preventDefault(); 
      }   
     } 
+1

Это работает! Большое спасибо! – Msonic

Смежные вопросы