select2 множественный запрещает другим входным данным отправлять форму при входе

У меня есть форма с простым вводом и ввода select2, например, так: http://codepen.io/anon/pen/QyBxwE

Нажатие ввода, когда первый ввод находится в фокусе, должно отправить форму (в этом случае, перенаправить на страницу 404).

По какой-то причине множественный ввод select2 запрещает отправку формы. Если я удалю select2 класс или multiple атрибут, форма ведет себя нормально.

Протестировано на Mac OS X Yosemite на Safari, Chrome и Firefox, и это происходит последовательно во всех браузерах.

(Я использую jQuery 2.1.3 и select2 4.0.1)

1 ответ

Решение

Работа форм заключается в том, что когда вы нажимаете Enter, он выполняет некоторые операции по умолчанию, которые он пытается выполнить. Шаг первый - отправить форму. Это работает только в том случае, если нет другого JavaScript, препятствующего отправке формы. Select2 множественный избавляет от операции по умолчанию, предотвращая по умолчанию. Таким образом, когда вы начинаете печатать и нажимаете ввод, он не отправляется автоматически.

Решение состоит в том, чтобы использовать второй тип опции по умолчанию. То есть иметь кнопку отправки на странице. Форма с перейдите к ближайшей кнопке отправки и нажмите эту кнопку. Эта операция не отменяется JavaScript-кодом select2.

http://codepen.io/anon/pen/yeqxQJ

просто добавь <input type="submit"> к вашей форме, и она должна работать так, как вы хотите.

Другие вопросы по тегам