Intereting Posts

Создание ключа ввода в форме HTML-сообщения вместо активации кнопки

У меня есть HTML-форма с одним вводом ввода, но и с различными элементами button . Когда пользователь нажимает клавишу «Ввод», я ожидаю, что она действительно представит форму, но вместо этого (в пределах как минимум 15) я нахожу, что она запускает первую button (так как это происходит раньше в HTML, чем submit ввод, я думаю).

Я знаю, что в целом вы не можете заставить браузеры submit входные данные, но я действительно думал, что они будут одобрять submit ввода через элементы button . Есть ли небольшая настройка, которую я могу сделать для HTML, чтобы сделать эту работу, или мне придется принять какой-то подход Javascript?

Вот грубый макет HTML:

 

Вы можете использовать jQuery:

 $(function() { $("form input").keypress(function (e) { if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) { $('button[type=submit] .default').click(); return false; } else { return true; } }); }); 

Вам не нужен JavaScript, чтобы выбрать кнопку отправки или ввод по умолчанию. Вам просто нужно пометить его с помощью type="submit" , а остальные кнопки отметят их type="button" . В вашем примере:

   

Попробуйте это, если нажать клавишу ввода, вы можете захватить ее так, например, я разработал ответ на другой день, когда кнопка html укажет выбранную , посмотрите, поможет ли это.

Укажите имя формы, например, имя yourFormName после чего вы сможете отправить форму без фокуса на форму.

 document.onkeypress = keyPress; function keyPress(e){ var x = e || window.event; var key = (x.keyCode || x.which); if(key == 13 || key == 3){ // myFunc1(); document.yourFormName.submit(); } } 

Я просто столкнулся с проблемой. Моя была отпадает от изменения input на button и у меня был плохо написанный терминатор тегов /> :

Итак, у меня было:

 Login 

И только что внесли поправки:

  

Теперь работает как шарм, всегда досадные мелочи … HTH

Учитывая, что существует только одна (или с этим решением потенциально не одна) кнопка отправки, вот решение на основе jQuery, которое будет работать для нескольких форм на одной странице …

  

Я просто дал это завихрение как в Chrome, так и в Firefox и IE10.

Как уже упоминалось выше, убедитесь, что вы отметили тип = «кнопка», «сброс», «отправить» и т. Д., Чтобы убедиться, что он правильно каскадирует и выбирает правильную кнопку.

Возможно, также установив, чтобы все они имели одну и ту же форму (т.е. все, что сработало для меня)

 $("form#submit input").on('keypress',function(event) { event.preventDefault(); if (event.which === 13) { $('button.submit').trigger('click'); } });