Мне нужно сделать некоторую проверку перед отправкой формы.
Я не могу изменить код html и существующие js (единственный способ - добавить новый файл js).
Я пробовал вот это:
$('form').submit(function() {
alert("check");
return false;
});
но он не звонит.
Я тоже пробовал это:
$(document).on('submit', 'form', function(e) {
alert("check");
return false;
});
звонит правильно, но только для alert().
Как можно настроить false для отключения отправки формы, когда мой checkFunction() возвращает false?
Вы пробовали e.preventDefault()?
где вызывается checkFunction()?
@Passerby Я пытался добавить e.preventDefault(); перед alert(), но он не работает (форма отправлена).
@Arvind функция checkFunction() еще не вызывается. Это не работает для постоянных значений true и false (я имею в виду, что форма отправлена).
Вы можете попробовать удалить любые существующие обработчики событий перед добавлением собственных, например: $('form').off('submit').on('submit', function() {...
вы добавили несколько форм на одну страницу @karlperson
если у вас есть несколько форм на одной странице, дайте id определенной форме
@RoryMcCrossan Я добавил .off('submi'), но он не работает (форма все равно отправлена)
@Rudra я не могу установить идентификатор в форме
сколько форм у вас на одной странице @karlperson



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


e.preventDefault должен помочь вам в этом, потому что он предотвращает поведение отправки по умолчанию.
$(document).on('submit', 'form', function(e) {
e.preventDefault();
alert("check");
return false;
});
return false выполнит то же действие (как и stopPropagation), поэтому, если это не сработает, вряд ли что-то изменится.
Я пробовал e.preventDefault(), но он не работает.
@RoryMcCrossan У вас есть идеи, каким может быть решение?
@karlperson Может вам это поможет: stackoverflow.com/questions/3350247/…
Имея такой небольшой объем информации в вопросе, невозможно определить проблему.
@RoryMcCrossan, какая информация необходима для обнаружения проблемы?
Пример, который показывает поведение, поэтому нам нужно увидеть HTML, а также любые другие события, которые помещаются в элемент внешним файлом JS.
Вы можете использовать плагин проверка jquery для проверки перед отправкой формы. Так лучше. Вы можете обратиться к ссылке ниже:
где твой HTML?