[英]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.