javascript-如果验证成功,则重定向,否则保持在同一页面上

javascript-如果验证成功,则重定向,否则保持在同一页面上,javascript,validation,Javascript,Validation,我有一个HTML表单,我正在使用javascript验证它。我想要 如果验证成功->自动重定向到其他页面 如果验证失败->仍停留在表单页面上(供用户再次输入)。 仅仅使用javascript,我怎么做呢 这是我的密码 <html> <head> <script type="text/javascript"> function verifyNull() { if (!document.getElemen

我有一个HTML表单,我正在使用javascript验证它。我想要

  • 如果验证成功->自动重定向到其他页面
  • 如果验证失败->仍停留在表单页面上(供用户再次输入)。 仅仅使用javascript,我怎么做呢
这是我的密码

<html>
    <head>
    <script type="text/javascript">
        function verifyNull() {
            if (!document.getElementById('username').value.trim().length) {
                alert('Please enter username');
            }
            else if (!document.getElementById('password').value.trim().length) {
                alert('Please enter password');
            }
        }
        function verifyEmail() {
            var x = document.getElementById('email').value;
            var atpos = x.indexOf("@");
            var dotpos = x.lastIndexOf(".");
            if (atpos< 1 || dotpos<atpos+2 || dotpos+2>=x.length) {
                alert("Not a valid e-mail address");
                return false;
            }
        }
    </script>
    <title>Bài 2</title>
    </head>
    <body>
        <form name = "myForm" method = "post" action = "registerd.html">
            Username <input type = "text" id = "username" name = "username"/><br />
            Password <input type = "password" id = "password" name = "password" /> <br />
            Email <input type = "text" id = "email" name = "email"/> 
            <input type = "submit" value = "Submit" onClick = "verifyNull();verifyEmail();"/>
        </form>
    </body>
</html>

函数verifyNull(){
if(!document.getElementById('username').value.trim().length){
警报('请输入用户名');
}
else if(!document.getElementById('password').value.trim().length){
警报(“请输入密码”);
}
}
函数verifyEmail(){
var x=document.getElementById('email')。值;
var atpos=x.indexOf(“@”);
var dotpos=x.lastIndexOf(“.”);
如果(atpos<1 | | dotpos=x.length){
警报(“不是有效的电子邮件地址”);
返回false;
}
}
Bái 2
用户名
密码
电子邮件
通常,如果验证成功,验证函数应返回true, 如果验证失败,则返回false

function perform()
{
 if(isValid)
 {
  return true;
 }
 else
 {
  return false;
 }
}
在上面的代码中,方法verifyNull()和verifyEmail()应该返回true或false。按如下所示更改代码,并在表单的submit上调用validate()方法

Remove the onclick event from the submit button and add an onsubmit event to the form.

<form name="myForm" action="registerd.html" onsubmit="return validate()">...</form>


function validate()
{
return (verifyNull() && verifyEmail());
}


function verifyNull(){
        var isValid = true;
        if(!document.getElementById('username').value.trim().length){
            isValid = false;
            alert('Please enter username');
        }
        else if(!document.getElementById('password').value.trim().length){
        isValid = false;
            alert('Please enter password');
        }
      return isValid;
    }
    function verifyEmail(){
        var x = document.getElementById('email').value;
        var atpos = x.indexOf("@");
        var dotpos = x.lastIndexOf(".");
        if (atpos< 1 || dotpos<atpos+2 || dotpos+2>=x.length) {
            alert("Not a valid e-mail address");
        return false;
        }
       return true;
    }
从提交按钮中删除onclick事件,并将onsubmit事件添加到表单中。
...
函数验证()
{
返回(verifyNull()&&verifyEmail());
}
函数verifyNull(){
var isValid=true;
if(!document.getElementById('username').value.trim().length){
isValid=false;
警报('请输入用户名');
}
else if(!document.getElementById('password').value.trim().length){
isValid=false;
警报(“请输入密码”);
}
返回有效;
}
函数verifyEmail(){
var x=document.getElementById('email')。值;
var atpos=x.indexOf(“@”);
var dotpos=x.lastIndexOf(“.”);
如果(atpos<1 | | dotpos=x.length){
警报(“不是有效的电子邮件地址”);
返回false;
}
返回true;
}

使用
if-else
语句。假设有一个变量告诉您验证是否通过,称为
formValidation


如果(formValidation==真){
打开(“path/to/page.html”,“_self”);
}否则{
//执行其他操作(验证失败)
}

要给出更详细的答案(如果您需要),则需要提供更多代码。

HTML:-

<form  onsubmit="return validation()">
 .....
</form>

.....
JavasScript:-

<script>
function validation() {
 var isValid = true;
 //perform your validation on form and update isValid variable accordingly.

 if(isValid) {
    window.location = ''; // your desired location
 }

 return false; // always return false to prevent form from submission.
}
</script>

函数验证(){
var isValid=true;
//对表单执行验证,并相应地更新isValid变量。
如果(有效){
window.location='';//您想要的位置
}
return false;//始终返回false以防止表单提交。
}

终于有人向我显示了窗口。打开!哈哈,干杯!