Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当表单中的onsubmit事件只有第一个函数起作用时,我希望返回所有3个函数,并返回true 用于检查电子邮件的Ajax代码是新的还是现有的_Javascript_Ajax - Fatal编程技术网

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在数据库中显示为空。此外,我想知道我的其余代码是否正确?