JavaScript/HTML表单验证问题

JavaScript/HTML表单验证问题,javascript,html,Javascript,Html,没有调用validateRegistrationForm方法,我在其中放置了一个警报进行了测试,但无法找出为什么会出现这种情况 在这个问题解决之前,我已经删除了其他JavaScript来验证其他东西 JavaScript本身通过主体内部的脚本标记链接到HTML。我在JS的顶部放置了一个警报,以确保链接正常工作 HTML: 重新定义$似乎是一个糟糕的想法,特别是如果这是其他开发人员共享的代码。在这两种情况下,为什么还要等待window.onload呢?您可以在它之外声明您的单击处理程序。工作区:

没有调用validateRegistrationForm方法,我在其中放置了一个警报进行了测试,但无法找出为什么会出现这种情况

在这个问题解决之前,我已经删除了其他JavaScript来验证其他东西

JavaScript本身通过主体内部的脚本标记链接到HTML。我在JS的顶部放置了一个警报,以确保链接正常工作

HTML:


重新定义$似乎是一个糟糕的想法,特别是如果这是其他开发人员共享的代码。在这两种情况下,为什么还要等待window.onload呢?您可以在它之外声明您的单击处理程序。工作区:

$("submitRegistationForm").onclick = validateRegistrationForm;

var $ = function (id) {
    return document.getElementById(id);
}

var validateRegistrationForm = function () {
    alert("");
    var isValid = true;

    //First Name Validation
    if ($("firstName").value == "") {
        $("firstNameError").firstChild.nodeValue = "This Text Box Cannot Be Blank";
        isValid = false;
    } else {
        $("firstNameError").firstChild.nodeValue = "";
    }

    //Second Name Validation
    if ($("lastName").value == "") {
        $("lastNameError").firstChild.nodeValue = "This Text Box Cannot Be Blank";
        isValid = false;
    } else {
        $("lastNameError").firstChild.nodeValue = "";
    }

    if (isValid) {
        $("registrationForm").submit();
    }
}

window.onload = function () {
    $("submitRegistationForm").onclick = validateRegistrationForm;
}
$("submitRegistationForm").onclick = validateRegistrationForm;