Один из способов остановить отправку формы - вернуть false из функции JavaScript.
При нажатии кнопки отправки вызывается функция проверки. У меня есть дело в форме проверки. Если это условие выполняется, я вызываю функцию с именем returnToPreviousPage ();
function returnToPreviousPage() {
window.history.back();
}
Я использую JavaScript и Dojo Toolkit .
Скорее возвращаясь к предыдущей странице, он отправляет форму. Как я могу прервать это представление и вернуться на предыдущую страницу?
javascript
html
forms
Мухаммед Имран Тарик
источник
источник
Ответы:
Вы можете использовать возвращаемое значение функции, чтобы предотвратить отправку формы
и функционировать как
В случае Chrome 27.0.1453.116 m, если приведенный выше код не работает, пожалуйста, установите параметр обработчика события returnValue поле false, чтобы заставить его работать.
Спасибо Сэм за обмен информацией.
РЕДАКТИРОВАТЬ :
Спасибо Викраму за обходной путь, если validateMyForm () возвращает false:
где validateMyForm () - это функция, которая возвращает false в случае сбоя проверки. Ключевым моментом является использование имени события. Мы не можем использовать для egepreventDefault ()
источник
false
, похоже, не имеет никакого эффекта; Chrome все еще отправляет форму. Например,onsubmit="return false;"
. Тем не менее, установкаreturnValue
поля параметра обработчика событийfalse
для меня работает.validateMyForm()
есть ошибкиreturn false
не будут достигнуты. Так что это может потерпеть неудачу. Через много часов я нашел решение, которое работает, и разместил его ниже.Использовать предотвращение по умолчанию
Dojo Toolkit
JQuery
Ванильный JavaScript
источник
target
.На данный момент работает следующее (протестировано в Chrome и Firefox):
Где validateMyForm () - это функция, которая возвращается в
false
случае сбоя проверки. Ключевым моментом является использование имениevent
. Мы не можем использовать, например, дляe.preventDefault()
.источник
Просто используйте простую
button
вместо кнопки отправки. И вызовите функцию JavaScript для обработки отправки формы:Функция внутри
script
тега:Вы также можете попробовать
window.history.forward(-1);
источник
required
, не будут работать.Много сложных способов сделать простую вещь:
источник
Все ваши ответы дали что-то для работы.
И наконец, это сработало для меня: (если вы не выберете хотя бы один флажок, он предупреждает и остается на той же странице)
источник
Основываясь на ответе @Vikram Pudi, мы также можем сделать это с помощью чистого Javascript
источник
Я бы порекомендовал не использовать,
onsubmit
а вместо этого прикреплять событие в сценарии.Затем используйте
preventDefault()
(илиreturnValue = false
для старых браузеров).источник
onsubmit
?JS
вместоHTML
использования атрибутов. Таким образом, вам не нужно будет прыгать вперед и назад во время чтения чужого кодаДопустим, у вас есть форма, похожая на эту
Вот javascript для функции verifyAction
Этот работает на Firefox, Chrome, Internet Explorer (край), Safari и т. Д.
Если это не так, дайте мне знать
источник
preventDefault()
иreturnToPreviousPage()
идеально, и элегантно. Он прерывает нормальную работу так же, как если бы вы разработали любой обработчик исключений для работы. +1.Ответы Хеманта и Викрама не совсем сработали для меня в Chrome. Event.preventDefault (); Сценарий запретил отправку страницы независимо от того, прошла или не прошла проверку. Вместо этого мне пришлось переместить event.preventDefault (); в операторе if следующим образом:
Спасибо Хеманту и Викраму за то, что поставили меня на правильный путь.
источник
Например, если у вас есть кнопка отправки в форме, чтобы остановить распространение, просто напишите event.preventDefault (); в функции, которая вызывается при нажатии кнопки подтверждения или кнопки ввода.
источник
Просто сделай это ....
и здесь идет ваш JQuery
источник