2013-10-24 3 views
0

Есть следующие READONLY текстовое поле:Как отключить действие Submit в текстовом поле только для чтения?

@Html.TextBoxFor(model => model.ClientNumber, new {@readonly = "readonly", @class ="message-label"}) 

и кнопку Сохранить:

<button type="submit" id="btnSave" name="Command" value="Save">Save</button> 

Когда пользователь нажимает на номер текстовое поле клиента и хиты Enter, а затем представить поведение вызывается и следующая страница отображается после того, как данные сохраняется в базе данных.

Как изменить это, чтобы нажатие Enter в этом поле ничего не делало, подобно тому, как страница ведет себя для обычной метки?

ответ

0

Вы можете сделать это с немного JavaScript, обработки keydown события и проверки, является ли Enter попал:

$(document).ready(function() { 
    $('input[name=ClientNumber]').keydown(function(e) { 
     if (e.keyCode === 13) { 
      e.preventDefault(); 
      return false; 
     } 
    }); 
}); 
+0

Я добавил это в сценарии раздела; но по какой-то причине это не помогло. Что я должен сделать, чтобы он работал? @section Сценарии { @ Scripts.Render ("~/связки/jqueryval") <тип скрипта = "текст/JavaScript"> $ (документ) .ready (функция() {$ ( 'вход [ имя = ClientNumber] ') KeyDown (функция (е) { , если (e.keyCode == 13) { e.preventDefault(); возвращение ложным;} }.); }); – user2911759

+0

Спасибо, это сработало после того, как я прокомментировал @ Scripts.Render («~/bundles/jqueryval») – user2911759

+0

Вы знаете, как использовать эту функцию вместе с @ Scripts.Render ("~/bundles/jqueryval")? Я боюсь оставить его закомментированным, так как хотел бы сохранить стандартное поведение для других полей? – user2911759

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