Форма при отправке события не срабатывает

Я новичок в веб-разработке, и для школьного упражнения я работаю над чем-то, где хочу выполнить javascript события отправки формы.

<head>
  <script>
    function foobar() {
      alert('Form submit event hit!');
    }
  </script>
</head>

<body onload="document.myForm.submit()">
  <form name="login" id="login" action="login.php" method="POST" onsubmit="foobar();">
    <input type="hidden" name="username" .../>
    <input type="hidden" name="password" .../>
    <input type="submit" name="submit" value="submit" />
  </form>
</body>

Когда я выполняю это, я вижу, что форма успешно отправлена, что я вижу вывод после успешного входа в систему. Но я не вижу вызова или удара Java-скрипта обработчика события отправки. Я уверен, что что-то упускаю. Любая помощь приветствуется.


person smaven    schedule 03.12.2019    source источник
comment
Я начинаю с x.html, который перенаправляет на форму login.php/login. Но когда нажимается кнопка входа в форму входа, которая является типом «отправить», я не могу вызвать функцию обработчика, даже если я укажу через onsubmit='' опцию формы.   -  person smaven    schedule 03.12.2019
comment
Добавьте аргумент event для onsubmit="foobar(e);" и function foobar(e) {...}. Затем используйте его в своей функции.   -  person Serhii Zharkov    schedule 03.12.2019
comment
Спасибо. Но не помогло.   -  person smaven    schedule 03.12.2019


Ответы (1)


Функция onsubmit IS вызывается после нажатия кнопки отправки. Проверьте мой jsfiddle.

https://jsfiddle.net/dthsLey7/11/

<!DOCTYPE html>
<html>

<body onload="document.myForm.submit()">
    <form name="login" id="login" action="login.php" method="POST" onsubmit="foobar();">
        <input type="hidden" name="username" .../>
        <input type="hidden" name="password" .../>
        <input type="submit" name="submit" value="submit"/>
    </form>
</body>

<script>
function foobar()
{
    alert('Form submit event hit!');
}
</script>
</html>
person Zoran777    schedule 03.12.2019
comment
Ага. Код работает нормально. для меня как есть ????‍♂️. Вероятно, проблема связана с браузером. Вы пробовали режим инкогнито? - person selfagency; 03.12.2019
comment
Если вы не можете воспроизвести проблему, вы должны назвать ее в комментарии. Это не ответ. - person Quentin; 03.12.2019
comment
странный. не работает для меня. Я попробовал приватное окно в Firefox. - person smaven; 03.12.2019
comment
@Quentin В этом сценарии это было необходимо. Поскольку OP является новым для веб-разработки, и я думаю, что лучше, чтобы они могли увидеть это сами. Я не думаю, что это заслуживает отрицательного голоса. Это то, что делает stackoverflow нежелательным для разработчиков. Как новички, так и опытные. - person Zoran777; 12.12.2019