Я заменил type="submit" в своей форме на type="button", чтобы предотвратить отправку формы, когда пользователь нажимает ввод. Будет ли это препятствовать отправке формы во всех браузерах?
Вопрос
Введите форму отправки HTML без отправки
- зачем это делать? может быть очень раздражающим для пользователя... darma 14.08.2010
- потому что: 1- они должны заполнить определенные поля, чтобы использовать отправку. 2- форма основана на токенах. Добавление ввода должно добавить токен, а не отправлять всю форму. так что это действительно полезно для пользователей bgcode 14.08.2010
- Это не умаляет того факта, что это плохая практика использования. Что вы должны сделать в этом случае, так это использовать Javascript, чтобы сделать и то, и другое. Yi Jiang 14.08.2010
Ответы
Ответ 1 · рейтинг 1 · The Mighty Rubber Duck
Некоторые браузеры по-прежнему автоматически отправляются при нажатии клавиши ввода. Если вам действительно нужна какая-то функция, очевидная для этого, вы можете реализовать собственную фильтрацию с помощью обработчика событий onSubmit.
Затем вы можете принудительно отправить форму, фактически вызвав метод отправки из Javascript. Конечно, вам нужно будет установить определенный флаг, чтобы ваша отправка прошла через это время. Что-то вроде (с jQuery)
//flag definition
var form_is_ready = false;
//event handler for the form submission
$('#your-form-id').submit(function() {
if (!form_is_ready) {
return false;
}
});
//function you have to call to actually submit the form
function do_submit() {
form_is_ready = true;
$('#your-form-id').submit();
}
Это просто кусок кода, написанный на лету. Вы должны адаптировать его в соответствии с вашими потребностями.
Ответ 2 · рейтинг 1 · Delan Azabani
Это плохое решение для удобства использования, и его следует избегать.
Ответ 3 · рейтинг 1 · Alohci
Вроде нет. Этот вопрос предполагает, что отправка по-прежнему будет происходить в Chrome. .
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- Как я могу убедиться, что javascript и изображения кэшируются?
- Размер браузера (ширина и высота)
- Используйте приложение winforms для обнаружения полей формы в браузере
- Javascript: автоматически развернуть окно браузера и переключиться в полноэкранный режим?
- Как сериализовать ввод типа файла в jquery
- Отправка формы на "Enter" с помощью jQuery?