Javascript addEventListener-有没有更有效的方法

Javascript addEventListener-有没有更有效的方法,javascript,events,Javascript,Events,我添加JavaScript是为了提醒用户需要填写指定字段。这不是错误的代码,但由于我有两个表单,每个字段都需要单独的JavaScript,我想知道是否有更有效的方法来编写脚本?我知道您可以在HTML中编写所需的属性,但我对此不感兴趣 function prepareEventHandlers () { document.getElementById("bookingFrm").addEventListener("submit", function(event) {

我添加JavaScript是为了提醒用户需要填写指定字段。这不是错误的代码,但由于我有两个表单,每个字段都需要单独的JavaScript,我想知道是否有更有效的方法来编写脚本?我知道您可以在HTML中编写所需的属性,但我对此不感兴趣

function prepareEventHandlers () {
document.getElementById("bookingFrm").addEventListener("submit",           function(event) {
        // Show message
        if (document.getElementById("email").value == "Your Email") {
            document.getElementById("errorMessage").innerHTML = "Please provide an email address!";
            // to STOP the form from submitting
            event.preventDefault(); // Prevent form from submitting // when using addEventListener, return false wont work, in all other cases use return false
        } else {
            // reset and allow the form to submit
            document.getElementById("errorMessage").innerHTML = "";
            return true;
        }  

});
}

  function prepareEventHandlersName () {
document.getElementById("bookingFrm").addEventListener("submit", function(event) {
        // Show message
        if (document.getElementById("name").value == "Your Name") {
            document.getElementById("errorMessage1").innerHTML = "Please provide a name!";
            // to STOP the form from submitting
            event.preventDefault(); // Prevent form from submitting
        } else {
            // reset and allow the form to submit
            document.getElementById("errorMessage1").innerHTML = "";
            return true;
        }          
});
}

function start() {
  prepareEventHandlers();
  prepareEventHandlersName();
}
window.onload = start;

为什么不在同一个函数中执行两个检查

function prepareEventHandlersForBoth () {
document.getElementById("bookingFrm").addEventListener("submit", function(event) {
        // Show message
        if (document.getElementById("email").value == "Your Email") {
            document.getElementById("errorMessage").innerHTML = "Please provide an email address!";            
            event.preventDefault(); 
        } else {
            document.getElementById("errorMessage").innerHTML = "";
            return true;
        }  
        if (document.getElementById("name").value == "Your Name") {
            document.getElementById("errorMessage1").innerHTML = "Please provide a name!";
            event.preventDefault(); 
        } else {
            document.getElementById("errorMessage1").innerHTML = "";
            return true;
        }         
});
}

}

function start() {
  prepareEventHandlersForBoth();
}
window.onload = start;

为什么不在同一个函数中同时检查name和email?要响应任何事件,必须通过addEventListener()或使用事件属性smth.onsubmit=function(){…}附加回调。为什么不使用验证库?或者至少看一看它是如何工作的。为建议干杯,伙计们,我现在将看看@Mathletics。为代码干杯,谢尔盖