как отменить отправку формы jquery
У меня возникают проблемы при попытке отменить отправку формы. Я слежу за этим учебным пособием (хотя я не делаю логин script), и, похоже, он работает для него.
Я уже импортировал jQuery в заголовок, и я знаю, что он работает. Моя первая мысль заключалась в том, что это может быть устаревшим, но это на самом деле «просто» год назад.
Так кто-нибудь видит, что неправильно?
Спасибо, что ответьте всем! Один из моих друзей посоветовал мне добавить
на форме. Это работает, но мне все же хотелось бы знать трюк не-inline-javascript, который работает.
Вы указываете, что «предупреждение перед» return false «не отображается».
Форма, которую вы пытаетесь получить, может быть динамически добавлена на вашу страницу. Вы должны использовать делегат для доступа к этой форме в этом случае
Чтобы начать работу, здесь полнофункциональный SSCCE. Все, что вам нужно сделать, это копировать «нечего».
Если он работает (по крайней мере, он работает здесь, я получаю предупреждение и форма вообще не отправляется), сравните его с вашим собственным кодом и попытайтесь сократить свой собственный код в этот вкус, чтобы вы могли лучше выявить различия (и, следовательно, вашу ошибку).
Независимо от того, на мой взгляд, это будет стоить усилий, чтобы получить себя через некоторые базовые/тривиальные учебники jQuery (и желательно также JavaScript), чтобы вы лучше поняли, что происходит под обложками, и узнайте, как использовать такие инструменты, как Firebug.
Остановить отправку формы на jQuery
Как остановить отправку формы на jQuery?
Вообще говоря остановить отправку формы не так просто, потому, что во-первых скорее всего это произойдет настолько быстро, что Javascript не успеет даже обратиться к браузеру, а во-вторых у Javascript просто нет такой возможности. Но другое дело, если ты работаешь с jQuery.
Чтобы иметь возможность остановить отправку формы на пол-пути необходимо осуществлять саму отправку при помощи Ajax. Вот так:
Отправка формы через Ajax на jQuery
Это форма, и для отправки возьмем:
Итак, при отправке формы (при нажатии на Enter в поле для ввода, либо при клике на кнопку «Отправить» будет происходить следующее:
Если ты уже раньше отправлял форму Ajaxом, то наверняка задумался: «А зачем здесь переменная ajax_request«. Именно благодаря ей мы и сможем остановить загрузку формы.
Внимание! эта переманная должна быть глобальной, ну или по крайней мере в области видимости и события отправки формы и клика на кнопку остановки отправки формы.
Остановка отправки формы на jQuery
Допустим мы хотим остановить отправку формы по нажатию на ссылку «Стоп»:
И обработчик события нажатия на эту ссылку:
И всё. Вся остановка отправки формы заключается в прерывании конкретного Ajax запроса при помощи функции abort.
Главное теперь, чтобы после отправки формы кто-нибудь успел нажать на ссылку «Стоп», потому, что форма уйдет очень быстро.
У меня возникли небольшие проблемы при попытке отменить отправку формы. Я следовал этому уроку (хотя я не делаю сценарий входа в систему), и, похоже, он работает для него.
Я уже импортировал jQuery в шапку, и я знаю, что он работает. Моей первой мыслью было, что это может быть устаревшим, но на самом деле это всего лишь год назад.
Так кто-нибудь видит, что не так?
РЕДАКТИРОВАТЬ: Из того, что я прочитал, самый простой и подходящий способ прервать отправку, это вернуть ложь? Но я не могу заставить его работать. Я искал на форуме, и я нашел несколько полезных тем, но ни одна из них на самом деле не работает. Я должен что-то напортачить.
12 ответов
Спасибо всем за ответы! Мой друг попросил меня добавить
на форме. Это работает, но я все еще хотел бы знать не-inline-javascript трюк, который работает.
Вы указываете, что «что предупреждение перед» return false «не отображается».
У меня также была эта проблема, мой код (который не работал) был что-то вроде этого:
и внутри функции before_submit у меня было «return false», чтобы остановить отправку формы:
Я добавил «return» при привязке функции-обработчика события к форме, и это сработало:
Функция, прикрепленная к событию submit, должна возвращать false (в моем случае это анонимная функция). Итак. это одно решение одной причины этой проблемы
Просто мой скромный вклад в этот (без ответа, тоже устаревший) вопрос. Я уже несколько раз работал над этой проблемой с одним и тем же решением:
Это вызывает неправильный элемент / элемент, не приводя ни к ошибкам, ни к предупреждениям. Так что просто назовите свою кнопку отправки как-нибудь еще, и все волшебным образом начнет работать снова
Форма, к которой вы пытаетесь получить доступ, может быть динамически добавлена на вашу страницу. Вы должны использовать делегат для доступа к этой форме в этом случае
Для начала, вот достойный SSCCE. Все, что вам нужно сделать, это скопировать и запустить его.
Если это работает (по крайней мере, здесь работает, я получаю предупреждение, а форма вообще не отправляется), сравните его с вашим собственным кодом и постарайтесь урезать свой собственный код до такого вида, чтобы вы могли лучше заметить различия (и, следовательно, ваша ошибка).
Несмотря на это, по моему мнению, будет стоить усилий, чтобы пройтись по некоторым базовым / тривиальным учебникам по jQuery (и предпочтительно также JavaScript), чтобы лучше понять, что происходит под прикрытием, и научиться использовать такие инструменты, как Firebug.
jQuery-отменить отправку формы (используя «return false»?)?
Я столкнулся с небольшой проблемой, пытаясь отменить отправку формы. Я следовал этому учебнику (хотя и не делаю сценарий входа в систему), и, похоже, он работает на него.
Я уже импортировал jQuery в заголовок и знаю, что он работает. Моей первой мыслью было, что он, возможно, устарел, но на самом деле это было 30 лет назад.
Так кто-нибудь видит, в чем дело?
12 ответов
Как я могу отменить отправку формы с помощью GWT? Мне нужно проверить форму и обработать некоторые данные, прежде чем отправлять их. До сих пор я делал следующее, Проблема в том, что форма отправляется, даже если SubmitEvent отменяется. form.addSubmitHandler( new SubmitHandler() < @Override public.
Спасибо всем за ответ! Мой друг дал мне чаевые, чтобы добавить
на бланке. Это работает, но я все равно хотел бы знать трюк not-inline-javascript, который работает.
Вы указываете, что «предупреждение перед ‘return false’ не отображается».
Значение имени нуждается в кавычках вокруг него. Попробуйте это:
Если это сработает (по крайней мере, здесь это работает, я получаю предупреждение, а форма вообще не отправляется), сравните ее с вашим собственным кодом и попробуйте сократить свой собственный код в этот вкус, чтобы вы могли лучше определить различия (и, следовательно, свою ошибку).
У меня есть форма, которая отправляется через jquery для мгновенной загрузки изображения. Когда изображение начинает загружаться через форму, я показываю кнопку отмены загрузки через jquery. Теперь есть ли способ, используя jquery, я могу остановить / отменить отправку формы в свойстве click.
На странице после нажатия кнопки submit будет отправлена форма. Но я запретил контроллеру ctrlPersonalData подавать форму (return false) Пожалуйста, помогите мне отменить отправку формы после нажатия кнопки submit
У меня также была эта проблема, мой код (который не работал) был чем-то вроде этого:
и внутри функции «before_submit» у меня было «return false», чтобы остановить отправку формы:
Я поставил «return» при привязке функции обработчика событий к форме, и это сработало:
Функция, прикрепленная к событию отправки, должна возвращать false (в моем случае анонимная функция). So. this-это одно из решений одной причины этой проблемы
Просто мой скромный вклад в этот (оставшийся без ответа, тоже датированный) вопрос. Я уже несколько раз сталкивался с этой проблемой всегда с одним и тем же решением:
При этом срабатывает неправильный элемент/элемент, не приводящий ни к ошибкам, ни к предупреждениям. Так что просто назовите свою кнопку отправки чем-то другим, и все волшебным образом снова начнет работать.
Форма, к которой вы пытаетесь получить доступ, может быть динамически добавлена на вашу страницу. В этом случае вам необходимо использовать делегат для доступа к этой форме
Я сталкивался с подобными проблемами. Я решил их, удалив действие и метод формы до проверки, а затем добавив их обратно после проверки. Вот валидатор, который я написал:
Вы можете реализовать это следующим образом:
Вы можете добавить CSS Selectors для обязательных полей. Один для Email должен быть уникальным.
Поэтому следите за фреймворками и действиями по умолчанию, которые мешают вашему собственному javascript. return false должен работать 🙂
Вы должны сделать что-то вроде ‘double return’, или, другими словами, вы должны вернуть то, что вернули. Итак, у вас есть ваш html:
Вы можете поместить в приведенную выше функцию любые условные обозначения. Похоже, вы просто хотите отменить его. Надеюсь, это поможет другим, кто столкнется с этим ответом.
Похожие вопросы:
У меня есть код отправки формы, который делает AJAX вызов & перенаправляет оттуда-если совпадение найдено. Но, так или иначе, return false опущен & форма отправляется. Я не хочу использовать.
у меня есть функция jquery, которая контролирует заполнение всех обязательных полей моей формы и отменяет отправку, если одно из обязательных полей пусто. Отмена отправки формы работает нормально.
Я пытаюсь отправить форму, которая проверяет, а затем регистрирует пользователя в PHP. Я возвращаю false, когда есть ошибка, но это не останавливает отправку формы. Как я могу предотвратить отправку.
Как я могу отменить отправку формы с помощью GWT? Мне нужно проверить форму и обработать некоторые данные, прежде чем отправлять их. До сих пор я делал следующее, Проблема в том, что форма.
У меня есть форма на моем мобильном сайте jQuery, которую я хотел бы проверить и остановить отправку, если проверка не пройдет. Однако ‘return false’ не останавливает отправку формы, потому что.
У меня есть форма, которая отправляется через jquery для мгновенной загрузки изображения. Когда изображение начинает загружаться через форму, я показываю кнопку отмены загрузки через jquery. Теперь.
На странице после нажатия кнопки submit будет отправлена форма. Но я запретил контроллеру ctrlPersonalData подавать форму (return false) Пожалуйста, помогите мне отменить отправку формы после.
Как отправить форму с помощью jquery
Подробно об отправке данных из формы в jquery
Форма для отправки в jquery
Для того, чтобы отправить форму в jquery нам понадобится:
И возвращать будем результат из php файла в тег div
Форма для отправки форм в jquery.
Разместим выше приведенную форму прямо здесь:
Результат вывода формы для отправки в php файл на jquery
Скрипт для отправки формы в jquery.
Далее. нам нужно данные получить из выше приведенной формы.
Получить ответ из php файла:
Разбор скрипта для отправки формы в jquery
Проверяем страница загрузилась?
Отлавливаем click по кнопке отправить:
Отправляем форму с помощью jquery:
Получаем ответ из php файла и отправляем в 4 поле в форме:
Соберем весь скрипт отправки формы в jquery
Получение данных, обработка, вывод результата:
Получаем данные с помощью post + trim + strip_tags
Если обе переменные существуют:
Пример проверки емайла на собаку «@»(здесь можно сделать много проверок полученных данных.):
Если не «bad»(всё плохо) в переменную($echo) помещаем результат:
Нам осталось собрать весь php в одно целое:
Php код для обработки данных из формы с помощью jquery :
Живой пример отправки формы в jquery:
Для того, чтобы протестировать выше приведенные скрипты вы можете пройти на страницу пример:
Сообщение системы комментирования :
Форма пока доступна только админу. скоро все заработает. надеюсь.