我可以在一个页面中的mupliple表单上使用多个onsubmit事件

时间:2018-04-26 16:20:00

标签: javascript jquery html html5

我在一个页面中有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>

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做。但是,不要使用内联HTML事件属性,因为这是一项20多年前的技术,虽然有效,却有 many reasons not to use them

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

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

function validateLogin(evt){
  evt.preventDefault(); // <-- Only here for demonstration.
  console.log("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>