Использование JQuery – предотrotation отправки формы

Как предотвратить отправку формы с помощью jquery?

Я пробовал все – см. 3 разных варианта, которые я пробовал ниже, но все это не сработает:

$(document).ready(function() { //option A $("#form").submit(function(e){ e.preventDefault(); }); //option B $("#form").submit(function(e){ stopEvent(e); }); //option C $("#form").submit(function(){ return false; }); }); 

Что может быть неправильным?

Обновление – вот мой html:

  

Здесь что-то не так?

Выделяются две вещи:

  • Возможно, ваше имя form не является form . Скорее обратитесь к тегу, отбросив #.
  • Также e.preventDefault является правильным синтаксисом JQuery, например

      //option A $("form").submit(function(e){ e.preventDefault(); }); 

Вариант C также должен работать. Я не знаком с вариантом B

Полный пример:

       
Search

Вероятно, у вас мало форм страницы и с помощью $ (‘form’). Submit () добавляет это событие к первому вхождению формы на вашей странице. Вместо этого используйте селектор classов или попробуйте следующее:

 $('form').each(function(){ $(this).submit(function(e){ e.preventDefault(); alert('it is working!'); return false; }) }) 

или лучшей его версии:

 $(document).on("submit", "form", function(e){ e.preventDefault(); alert('it works!'); return false; }); 

Преобладать дефолт / предотвращать использование формы

 e.preventDefault(); 

Чтобы остановить использование событий

 e.stopPropagation(); 

Чтобы предотвратить отправку формы, «return false» также должен работать.

У меня также была та же проблема. Я также пробовал то, что вы пробовали. Затем я меняю свой метод, чтобы не использовать jquery, но используя атрибут onsubmit в теге формы.

 

Оно работает.

Но, когда я пытался поставить значение ложного возврата только в «the function ()», это не мешает процессу отправки, поэтому я должен поставить «return false»; в атрибуте onsubmit. Итак, я пришел к выводу, что мое приложение формы не может получить возвращаемое значение из функции Javascript. Я понятия не имею об этом.

У меня была та же проблема, и я решил так (не элегантный, но он работает):

 $('#form').attr('onsubmit','return false;'); 

И это имеет, на мой взгляд, преимущество, что вы можете вернуться к ситуации в любое время:

 $('#form').attr('onsubmit','return true;'); 

Когда я использую

без атрибута id="form" и вызываю его по имени своего тега непосредственно в jquery, он работает со мной.
ваш код в файле html:

 

и в сценарии Jquery:

 $(document).ready(function() { $('form').submit(function(evt){ evt.preventDefault();// to stop form submitting }); }); 

Вы забыли идентификатор формы, и он работает

 $('form#form').submit(function(e){ e.preventDefault(); alert('prevent submit'); }); 
 // Prevent form submission $( "form" ).submit(function( event ) { event.preventDefault(); }); 

отсюда: https://api.jquery.com/submit-selector/ (интересная страница о типах отправки)

$("#form') ищет элемент с id="form" .

$('form') ищет элемент формы

  • Событие jquery toggle возится со значением флажка
  • Введите событие нажатия клавиши в JavaScript
  • Масштабирование / перевод фигуры в заданный прямоугольник с использованием AffineTransform
  • Как читать данные в формате PDF с помощью iTextSharp?
  • Symfony2 Настройка выбора поля выбора по умолчанию
  • jQuery detect click on disabled submit button
  • Поля ввода маски в формах Angular2
  • Java-swing прослушивает действие в текстовом поле формы
  • В чем разница между «Запросить полезную нагрузку» и «Данные формы», как показано на вкладке «Инструменты разработчика Chrome».
  • Производительность ASP.NET MVC
  • Как я могу условно потребовать ввода формы с помощью AngularJS?
  • Давайте будем гением компьютера.