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