簡體   English   中英

Javascript如何在html表單提交中使用多個函數來驗證

[英]Javascript How to use multiple function in html form submission to validate

Html形式讓我發瘋。 我有一個函數檢查不匹配的密碼,如果已經指定了用戶名。 如果您通過了這兩項檢查,那么表單應該提交,但事實並非如此。

這不是db問題。 我已經檢查過了,它連接得很好。

刪除double onsubmit參數時,checkname中的帖子和表單中的帖子都有效。 如果有人有任何想法請告訴我:)

這是我目前正在工作的項目的鏈接

功能和形式:

 function validatePassword() { var pass1 = document.getElementById("password").value; var pass2 = document.getElementById("confirm_password").value; if (pass1 != pass2) { alert("Passwords Do not match"); document.getElementById("password").style.borderColor = "#E34234"; document.getElementById("confirm_password").style.borderColor = "#E34234"; return false; } else { return true; } } function checkname() { var name = document.getElementById("username").value; if (name) { $.ajax({ type: 'post', url: 'checkdata.php', data: { user_name: name, }, success: function(response) { $('#name_status').html(response); if (response == "OK") { return true; } else { return false; } } }); } else { $('#name_status').html(""); return false; } } function checkall() { var namehtml = document.getElementById("name_status").innerHTML; if ((namehtml) == "OK") { return true; } else { return false; } } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <font size=4><b>Customer sign up</b></font> <form name="input" action="customer_insert.php" onsubmit=" return !!(validatePassword() & checkall());" method="post"> <br> Username: <input type="text" maxlength="45" name="username" id="username" onchange="checkname();" required="required"> <span id="name_status"></span> <br> Password: <input type="password" maxlength="128" name="passwd1" id="password" required="required"> <br> Retype Password: <input type="password" maxlength="128" name="passwd2" id="confirm_password" required="required"> <br> First Name: <input type="text" maxlength="45" name="firstname" required="required"> <br> Last Name: <input type="text" maxlength="45" name="lastname" required="required"> <br> E-mail: <input type="email" name="email" required="required"> <input type="submit" name="Signup" value="Signup"> </form> 

修復。 問題直接在條件導致未定義的返回時使用checkname(),因此,永遠不會滿足條件。 現在我參與舊的checkall()並將其與您的validate方法集成。 這有效。 謝謝!

function validateForm(){
    var a = validatePassword();
    var b;

    var namehtml=document.getElementById("name_status").innerHTML;


    if(namehtml=="OK")
    {
            b = true;
    }
    else
    {
            b = false;
    }


    if(a && b){

            return true;

    }
    else{

            return false;
    }
}

暫無
暫無

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

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