Javascript 当表单中的onsubmit事件只有第一个函数起作用时,我希望返回所有3个函数,并返回true 用于检查电子邮件的Ajax代码是新的还是现有的
我希望所有三个函数Javascript 当表单中的onsubmit事件只有第一个函数起作用时,我希望返回所有3个函数,并返回true 用于检查电子邮件的Ajax代码是新的还是现有的,javascript,ajax,Javascript,Ajax,我希望所有三个函数返回(checkpass()&&check()&&validate(this))都能工作。目前只有函数checkpass()在工作。如果我写入return(check()&&checkpass()&&validate(this)),则只触发check()函数 函数检查(){ var uname=document.forms[“register_form”][“uname”].value; var uemail=document.forms[“register_form”][“
返回(checkpass()&&check()&&validate(this))
都能工作。目前只有函数checkpass()
在工作。如果我写入return(check()&&checkpass()&&validate(this))
,则只触发check()
函数
函数检查(){
var uname=document.forms[“register_form”][“uname”].value;
var uemail=document.forms[“register_form”][“uemail”].value;
var upassword=document.forms[“register_form”][“upassword”].value;
var ucpassword=document.forms[“register_form”][“ucpassword”]。值;
如果(uname==“”| | uemail==“”| | upassword==“”| | ucpassword==“”){
警报(“必须填写所有字段”);
返回false;
}
}
函数checkpass(){
var upass=document.forms[“register_form”][“upassword”].value;
var ucpass=document.forms[“register_form”][“ucpassword”]。值;
if(upass!=ucpass){
警报(“确认密码应与密码相同”);
返回false;
}
如果(upass==“”&ucpass==“”){
警报(“不能为空”);
返回false;
}
}
功能验证(用户电子邮件){
xhttp=newXMLHttpRequest();
xhttp.open(“GET”、“emailvalidate.php?uemail=“+useremail,true”);
xhttp.send();
xhttp.onreadystatechange=函数(){
if(xhttp.readyState==4){
if(xhttp.responseText==“”){
document.getElementById(“警报”).innerHTML=“不能为空”;
返回false;
}
else if(xhttp.responseText==“OK”){
document.getElementById(“警报”).innerHTML=“欢迎新用户”;
}
else if(xhttp.responseText==“否”){
document.getElementById(“警报”).innerHTML=“电子邮件已存在”;
返回false;
}
否则{
document.getElementById(“警报”).innerHTML=“发生错误”;
返回false;
}
}
};
}
姓名:
电子邮件id:
输入密码:
确认密码:
提交
为什么不将它们包装到函数中:
var wrapper = function(){
return checkpass() && check() && validate(this);
}
然后
此外,您还可以使用此函数链来提高可读性,但上面的示例必须解决您的问题。为什么不调用entry函数中的其他函数呢?您需要更具体地说明您想要什么。是否希望所有三项检查都始终运行(即,如果存在多个故障,则会出现多个
警报()
)?或者,您是否希望检查按顺序运行,直到其中一个失败,然后再不运行其他检查?您想要哪一个来决定代码的编写方式。如果不知道您想要的是哪一个,则无法提供答案。您的主要问题是您没有任何条件可以通过任何检查(即返回true
值)。检查通过时仍无法工作()函数正在验证,如果我填写密码并确认密码,并将姓名和电子邮件id留空,则提交的表单中的姓名和电子邮件id在数据库中显示为空。此外,我想知道我的其余代码是否正确?