Я работаю над веб-сайтом ASP.NET MVC с несколькими кнопками отправки. то есть.
<input type="submit" name="SubmitButton" value="Reset" />
<input type="submit" name="SubmitButton" value="OK" />
<input type="submit" name="SubmitButton" value="Back" />
Мне нужно разрешить пользователям быстро отправить форму, нажав клавишу 'Enter'. В стандарте HTML, как представляется, указывается, что первая кнопка отправки будет приниматься, если пользователь нажимает клавишу 'Enter'. Тем не менее, мне нужно сделать кнопку 2 (то есть кнопку "ОК" ) кнопкой по умолчанию, и по причинам, о которых я даже не хочу говорить, изменение порядка кнопок не является вариантом.
Я googled вокруг, и я нашел этот пост об использовании Page.Form.DefaultButton в ASP.NET, но это не работает с ASP.NET MVC.
Я также попробовал следующее решение javascript, хотя он работает в Chrome, но не работает в IE6
$('body').keypress(function(e) {
if (e.which === 13) {
$("input[value='OK']").trigger('click');
}
});
Я могу подумать о некоторых действительно экстремальных решениях, таких как прохождение через каждый элемент управления в форме присоединения к ним вышеуказанной функции. Тем не менее, я не думаю, что очень аккуратное решение, поэтому мне интересно, есть ли у кого-то лучшее решение?