Вот мой код, настолько простой, насколько это возможно:
<form action = "">
<input type = "text">
<input type = "submit" value = "submit">
</form>
$("form").submit(function(e){
e.stopPropagation();
e.preventDefault();
e.submit(); // tried also: $(this).submit()
});
Что я здесь делаю не так? почему не отправляет?
$("form").submit(), уже отправляет форму
зачем ловить событие, когда вы просто отправляете его снова, ничего не изменяя?
это был ПРИМЕР, ребята ... давайте ... У меня там будет выражение if-else.
«это был ПРИМЕР», а затем обозначить его как таковой. Этот код практически не имеет смысла, отсюда и ответы.



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


e.target.submit();
Если вы вызываете submit в собственном элементе, а не в элементе jQuery, обработчики событий jQuery будут проигнорированы.
удалите preventDefault, это предотвратит отправку формы.
$("form").submit(function(e){
e.stopPropagation();
//e.preventDefault();
return true;
});
Теперь, как написан ваш код, вы обрабатываете событие отправки формы и пытаетесь отправить его. Если вы проверите e, вы увидите, что это событие, а не реальная форма. Ваша форма отправляется, просто нажав кнопку отправки. Если вы хотите предотвратить это и сделать что-то перед отправкой, сделайте что-то вроде этого:
<form action = "" id = "myForm">
<input type = "text">
<input type = "button" value = "submit" id = "myButton">
</form>
$("#myButton").click(function(){
$(this).stopPropagation();
$(this).preventDefault();
//do what you need to do
$("#myForm").submit();
});
Если в исходном коде вы действительно отправите форму в конце, это приведет к бесконечному циклу.
Вы должны использовать метод .submit() непосредственно в форме:
$("form").submit();
Потому что вы установили
preventDefault().... Что именно вы здесь пытаетесь сделать, поскольку код в вашем вопросе не имеет особого смысла.