簡體   English   中英

遇到問題 javascript 文件不響應 html 表單

[英]Having trouble with the javascript file does not respond to html form

我正在嘗試制作一個 javascript 文件來檢查注冊表單的規則,但警報沒有彈出,所以我不知道哪個部分不起作用。

當我單擊提交按鈕時,它會直接轉到 PHP 文件,而不是在警報 window 中列出消息。

function validate() {
    var name = document.getElementById("name").value;
    var username = document.getElementById("username").value;
    var password = document.getElementById("password").value;
    var confirmPassword = document.getElementById("confirm-password").value;
    var genderM = document.getElementById("gender-male").checked; //radio
    var genderF = document.getElementById("gender-female").checked; //radio
    var temperature = document.getElementById("temperature").checked; //checkbox
    var favourite = document.getElementById("favourite").checked; //select
    var email = document.getElementById("email").value;
    var errMsg = "";
    var result = true;

    if (name == "") {
        errMsg += "Please enter a name.\n";
    }
    
    if (username == "") {
        errMsg  += "Please enter a username.\n";
    }

    if (password == "") {
        errMsg += "Please enter a password.\n";
    }

    if (confirmPassword == "") {
        errMsg += "Please re-enter password.\n";
    }

    if (password != confirmPassword) {
        errMsg += "Confirm password does not match.\n";
    }

    if (email == "") {
        errMsg += "Please enter an email address.\n";
    }

    if (email.indexof('@') == 0) {
        errMsg += "Email address invalid.\n";
    }

    if (email.indexof('@') < 0) {
        errMsg += "Email address must contain an @ symbol.\n";
    }

    if ((genderM = "" )&&(genderF = "")) {
        errMsg += "Please enter a gender.\n";
    }

    if (temperature == "") {
        errMsg += "Please enter a drink temperature.\n";
    }

    if (favourite == "") {
        errMsg += "Please enter a favourite drink.\n";
    }

    if (errMsg != "") {
        alert (errMsg);
        result = false;
    }
    return result;
}

function init() {
    var register = document.getElementById("register"); //form id="register"
    register.onsubmit = validate;
}

window.onload = init();

我試圖仔細檢查所有可能的錯誤,例如缺少“;” 或錯誤的元素等。但是,似乎沒有什么對我有用。

嘗試這個

window.onload = init // assign function instead of calling it

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM