在转到下一页之前进行验证

时间:2017-05-21 07:45:10

标签: javascript php html

窥视,

我看到这个问题已经被问到,但他们要么没有正确的验证功能,要么有一些语法错误。

这是我的代码;它应该检查字段不是空白然后如果它们不是空白它将它们传递到下一页。

我的代码会发生什么,它确实会检查验证,但在“警报”弹出窗口后,它会转到下一页。我的目的是不去下一页,除非所有字段都填满。

任何提示都将不胜感激。

<html>
<head>      
        <script type="text/javascript">

            function RegValidation() {              
                var txtURL, 
                 if (!txtURL) {
                    alert("URL is mandatory!");
                    return false;
                  }
                 return true;
            }               
        </script>
</head> 
<body>  
        <form name="RegisterForm" action="RegConfirm.php" method="post">            

                <p><input type="text" name="txtURL"></p>

                <p><input type="submit" value="Register" onclick="Register()"></p>                                      
        </form>

</body>

<script type="text/javascript"> 

    function Register() {

    if (!RegValidation()) return;        
     }

</script>

2 个答案:

答案 0 :(得分:0)

而不是提交按钮上的onclick功能尝试在表单标签中提交on ..

jsfiddle的工作代码是here

 <form name="RegisterForm" action="RegConfirm.php" method="post" onSubmit="return Register()">            

    <p><input type="text" name="txtURL" id="txtURL"></p>

    <p><input type="submit" value="Register"></p>                                      

 </form>



function Register() {
  return RegValidation();      
}

function RegValidation() {              
  var txtURL = document.getElementById('txtURL').value;
  if (!txtURL) {
     alert("URL is mandatory!");
     //   txtURLFocus();
     return false;
  }
  return true;
}

答案 1 :(得分:0)

  1. 您需要将字段的值分配给您正在测试的var
  2. 您需要一个未在您提供的代码中定义的焦点功能。
  3. 您现在只在点击时执行一项功能而不是返回它。建议不要将处理程序分配给提交按钮,因此我已将其分配给它所属的提交事件
  4. 这是一个不引人注目的工作版本

    window.onload = function() {
      document.getElementById("RegisterForm").onsubmit = function() {
        var txtURL = this.txtURL.valuel
        if (!txtURL) {
            alert("URL is mandatory!");
            this.txtURL.focus();
            return false;
        }
        return true;
      }
    }
    <form name="RegisterForm" id="RegisterForm" action="RegConfirm.php" method="post">
    
      <p><input type="text" name="txtURL"></p>
    
      <p><input type="submit" value="Register"></p>
    </form>