Javascript 我试图通过使用onsubmit=returnvalidateform()在html标记中使用此验证
//这是我正在使用的html,但它工作不正常,它没有接受js验证并直接将我转发到reg.jsp页面Javascript 我试图通过使用onsubmit=returnvalidateform()在html标记中使用此验证,javascript,jsp,Javascript,Jsp,//这是我正在使用的html,但它工作不正常,它没有接受js验证并直接将我转发到reg.jsp页面 //this is the javascript program for validation function validateForm() { var name=document.myform.uname.value; var password=document.myform.password.value; var conpa
//this is the javascript program for validation
function validateForm()
{
var name=document.myform.uname.value;
var password=document.myform.password.value;
var conpass = document.myform.repassword.value;
boolean valid = true;
if(password != conpass)
{
alert("password is not same");
valid=false;
}
else if(name==null || name=="")
{
alert("User Name should not be blank..");
valid=false;
}
else if(password==""|| password==null)
{
alert("Password should not be blank");
valid=false;
}
else if(!this.form.checkbox.checked)
{
alert('You must agree to the terms first.');
return false;
}
else{
return valid;
}
};
为了防止通过javascript提交,您必须在onsubmit处理程序中返回
false
因此,下一行中的validateForm()
必须返回false:
<form action="reg.jsp" name="myform" method="post" onsubmit="return validateForm()" >
前面的检查只是准备变量,但不返回它。这就是你需要做的 下面是一个如何实现的示例:
else if(!this.form.checkbox.checked)
{
alert('You must agree to the terms first.');
return false;
}
else{
return valid;
}
其他改进可以是:
- 通过降低重要性对条件重新排序。
例如:如果术语不被接受,则不重要,如果密码为空。
如果密码为空,那么如果密码相同,则不重要 - 使用html5,它有更多的输入类型和可调整的内置验证,用于常见情况。请参阅此处的更多信息:
boolean valid=true代码>不是javascript
else if(!this.form.checkbox.checked)
{
alert('You must agree to the terms first.');
return false;
}
else{
return valid;
}
function validateForm() {
var name=document.myform.uname.value;
var password=document.myform.password.value;
var conpass = document.myform.repassword.value;
var valid = true;
var message = "everything is valid";
if(password != conpass)
{
message = "password is not same";
valid = false;
}
else if(name==null || name=="")
{
message = "User Name should not be blank..";
valid = false;
}
else if(password==""|| password==null)
{
message = "Password should not be blank";
valid = false;
}
else if(!this.form.checkbox.checked)
{
message = "You must agree to the terms first.";
valid = false;
}
alert(message);
return valid;
};