Отправить действие формы

Мне нужно сделать некоторую проверку перед отправкой формы.

Я не могу изменить код html и существующие js (единственный способ - добавить новый файл js).

Я пробовал вот это:

$('form').submit(function() {
    alert("check");
    return false;
});

но он не звонит.

Я тоже пробовал это:

$(document).on('submit', 'form', function(e) {
    alert("check");
    return false;
});

звонит правильно, но только для alert().

Как можно настроить false для отключения отправки формы, когда мой checkFunction() возвращает false?

где твой HTML?

Arun Kumar 16.10.2018 12:35

Вы пробовали e.preventDefault()?

Passerby 16.10.2018 12:35

где вызывается checkFunction()?

user2575725 16.10.2018 12:39

@Passerby Я пытался добавить e.preventDefault(); перед alert(), но он не работает (форма отправлена).

karl person 16.10.2018 12:43

@Arvind функция checkFunction() еще не вызывается. Это не работает для постоянных значений true и false (я имею в виду, что форма отправлена).

karl person 16.10.2018 12:44

Вы можете попробовать удалить любые существующие обработчики событий перед добавлением собственных, например: $('form').off('submit').on('submit', function() {...

Rory McCrossan 16.10.2018 13:04

вы добавили несколько форм на одну страницу @karlperson

Rudra 16.10.2018 13:23

если у вас есть несколько форм на одной странице, дайте id определенной форме

Rudra 16.10.2018 13:24

@RoryMcCrossan Я добавил .off('submi'), но он не работает (форма все равно отправлена)

karl person 16.10.2018 13:36

@Rudra я не могу установить идентификатор в форме

karl person 16.10.2018 13:37

сколько форм у вас на одной странице @karlperson

Rudra 16.10.2018 13:45
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
11
64
2

Ответы 2

e.preventDefault должен помочь вам в этом, потому что он предотвращает поведение отправки по умолчанию.

$(document).on('submit', 'form', function(e) {
  e.preventDefault();
  alert("check");
  return false;
});
return false выполнит то же действие (как и stopPropagation), поэтому, если это не сработает, вряд ли что-то изменится.
Rory McCrossan 16.10.2018 12:44

Я пробовал e.preventDefault(), но он не работает.

karl person 16.10.2018 12:45

@RoryMcCrossan У вас есть идеи, каким может быть решение?

karl person 16.10.2018 12:49

@karlperson Может вам это поможет: stackoverflow.com/questions/3350247/…

FredZockt 16.10.2018 12:50

Имея такой небольшой объем информации в вопросе, невозможно определить проблему.

Rory McCrossan 16.10.2018 12:52

@RoryMcCrossan, какая информация необходима для обнаружения проблемы?

karl person 16.10.2018 13:03

Пример, который показывает поведение, поэтому нам нужно увидеть HTML, а также любые другие события, которые помещаются в элемент внешним файлом JS.

Rory McCrossan 16.10.2018 13:04

Вы можете использовать плагин проверка jquery для проверки перед отправкой формы. Так лучше. Вы можете обратиться к ссылке ниже:

https://jqueryvalidation.org/

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