Javascript表单验证提交按钮问题

Javascript表单验证提交按钮问题,javascript,html,Javascript,Html,问题是,一旦我单击submit按钮,代码就可以很好地显示验证错误,但是在显示消息之后。。当我再次单击submit按钮时(不重新加载ie,错误消息仍然显示在屏幕上),它会重定向到success页面,即使它有错误消息 请看一下代码: var标志=0; 函数用户名(){ usrn=document.form1.txt.value; 如果(usrn==“”){ document.getElementById(“用户”).innerHTML=“请输入用户名”; flag=1; }否则如果(usrn.长度

问题是,一旦我单击submit按钮,代码就可以很好地显示验证错误,但是在显示消息之后。。当我再次单击submit按钮时(不重新加载ie,错误消息仍然显示在屏幕上),它会重定向到success页面,即使它有错误消息

请看一下代码:

var标志=0;
函数用户名(){
usrn=document.form1.txt.value;
如果(usrn==“”){
document.getElementById(“用户”).innerHTML=“请输入用户名”;
flag=1;
}否则如果(usrn.长度<8){
document.getElementById(“用户”).innerHTML=“至少需要8个字符”;
flag=1;
}
}
函数密码(){
通过=document.form1.pass.value;
cpass=document.form1.cpass.value;
如果(通过==“”){
document.getElementById(“密码”).innerHTML=“请输入密码”;
flag=1;
}否则如果(通过长度<8){
document.getElementById(“密码”).innerHTML=“至少需要8个字符”;
flag=1;
}else if(cpass==“”){
document.getElementById(“cpassword”).innerHTML=“请确认密码”;
flag=1;
}否则如果(cpass!=通过){
document.getElementById(“cpassword”).innerHTML=“密码不匹配”;
flag=1;
}否则
返回;
}
函数cpassword(){
cpass=document.form1.cpass.value;
通过=document.form1.pass.value;
如果(cpass==“”){
document.getElementById(“cpassword”).innerHTML=“请确认密码”;
flag=1;
}否则如果(cpass!=通过){
document.getElementById(“cpassword”).innerHTML=“密码不匹配”;
flag=1;
}否则
返回;
}
功能电子邮件(){
email=document.form1.em.value;
如果(电子邮件==“”){
document.getElementById(“emailid”).innerHTML=“请输入电子邮件ID”;
flag=1;
}
}
功能检查(表格){
flag=0;
用户名();
密码();
电子邮件();
如果(标志==1){
返回false;
}否则{
返回true;
}
}

填表
输入用户名
输入密码
确认密码
输入电子邮件ID
提交

每当出现验证错误时。从函数返回false。它应该可以解决这个问题。

这里有一个代码片段

代码中有几个问题:

  • 在函数
    email()
    中,为
    email
    变量赋值
  • 有许多变量不是在函数范围内创建的
  • 可以进行更多优化,而不是使用
    global
    函数和变量,这将使代码更具可读性和可维护性
var标志=0;
函数用户名(){
var usrn=document.form1.txt.value;
如果(usrn==“”){
document.getElementById(“用户”).innerHTML=“请输入用户名”;
flag=1;
}否则如果(usrn.长度<8){
document.getElementById(“用户”).innerHTML=“至少需要8个字符”;
flag=1;
}
}
函数密码(){
var pass=document.form1.pass.value;
var cpass=document.form1.cpass.value;
如果(通过==“”){
document.getElementById(“密码”).innerHTML=“请输入密码”;
flag=1;
}否则如果(通过长度<8){
document.getElementById(“密码”).innerHTML=“至少需要8个字符”;
flag=1;
}else if(cpass==“”){
document.getElementById(“cpassword”).innerHTML=“请确认密码”;
flag=1;
}否则如果(cpass!=通过){
document.getElementById(“cpassword”).innerHTML=“密码不匹配”;
flag=1;
}否则
返回;
}
函数cpassword(){
var cpass=document.form1.cpass.value;
var pass=document.form1.pass.value;
如果(cpass==“”){
document.getElementById(“cpassword”).innerHTML=“请确认密码”;
flag=1;
}否则如果(cpass!=通过){
document.getElementById(“cpassword”).innerHTML=“密码不匹配”;
flag=1;
}否则
返回;
}
功能电子邮件(){
var emailValue=document.form1.em.value;
如果(emailValue==“”){
document.getElementById(“emailid”).innerHTML=“请输入电子邮件ID”;
flag=1;
}
}
功能检查(表格){
flag=0;
用户名();
密码();
电子邮件();
如果(标志==1){
控制台日志(“假”);
返回false;
}否则{
console.log(“真”);
返回true;
}
}

填表
输入用户名
输入密码
确认密码
输入电子邮件ID
提交

请使用Stackoverflow代码块编辑您的问题,以创建一个工作示例。