Могу ли я использовать несколько событий onsubmit в нескольких формах на одной странице

У меня есть 2 формы на одной странице, и мне нужно вызвать одну функцию в js, когда я отправляю свои формы. Могу ли я использовать 2 события onsubmit на одной странице? Это не работает в моем проекте кода. Например:

    <form id = "form1" role = "form" method = "POST" action = "script1.php" onsubmit = "return validateAccess()">
.....
    </form>

    <form id = "form2" role = "form" method = "POST" action = "script2.php" onsubmit = "return validateLogin()">
.....
    </form>

🤔 А знаете ли вы, что...
JavaScript можно использовать для создания анимаций и игр на веб-страницах.


40
1

Ответ:

Да, ты можешь это сделать. Но не используйте встроенные атрибуты событий HTML, так как это методика, которой уже более 20 лет, хотя она и работает, но имеет много причин не использовать их.

document.getElementById("form1").addEventListener("submit", validateAccess);
document.getElementById("form2").addEventListener("submit", validateLogin);

function validateAccess(evt){
  evt.preventDefault(); // <-- Only here for demonstration.
  console.info("Form 1 submitted!");
}

function validateLogin(evt){
  evt.preventDefault(); // <-- Only here for demonstration.
  console.info("Form 2 submitted!");
}
<form id = "form1" role = "form" method = "POST" action = "script1.php">
  <button type = "submit">Submit Form 1</button>
</form>

<form id = "form2" role = "form" method = "POST" action = "script2.php">
  <button type = "submit">Submit Form 2</button>
</form>