即使在验证失败后,也会重定向新页面

时间:2015-06-01 15:36:54

标签: javascript html validation jsp

我正在实现一个简单的代码,以确定验证在我的浏览器中无效的原因。

但验证无效。 Idk y。

它只是重定向到下一页

newjsp.jsp

  <%@page contentType="text/html" pageEncoding="UTF-8"%>
  <!DOCTYPE html>
   <html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <script>
        function validation()
        {
            var a=document.form1.txt1.value;
            if(a=="")
            {
                alert("Hey");
                return false;
            }
            return true;
        }
    </script>    
</head>
<body>
    <form id="form1" onsubmit="return validation(this)" action="newjsp1.jsp">  
    <input type="text" id="txt1">
    <input type="submit" id="sub">
  </form>
</body>

3 个答案:

答案 0 :(得分:0)

更新

不要将this用作函数参数。 this是关键字。使用任何其他变量。像这样的东西

function validation(form) { 
  var a=form.txt1.value; 
  if(a==="") { 
    window.alert("Hey"); 
    return false; 
  } 
  return true; 
} 

当表格是这样的时候

<form name="form1" onsubmit="return validation(this)" action="newjsp1.jsp">
....
</form>

尝试document.forms.form1.txt1.value;

function validation(){
  var a=document.forms.form1.txt1.value;
  if(a==""){
     alert("Hey");
     return false;
  }
  return true;
}

查看演示 http://jsbin.com/vuxoha/1/edit

答案 1 :(得分:0)

使用相反的逻辑 - 必须正常,然后在所有其他情况下变为TRUE,返回FALSE。

function validation()
{
  var a = document.getElementById('txt1').value;
  if (typeof a != "undefined" && a != "")
  {
    // `a` is in very good condition :)
    return true;
  }

  alert('hey');
  return false;
}

我认为,您的document.form1.txt1.value未正确填充,因此您的值a可能未定义,而不是&#34;&#34;,因此它将返回TRUE。

尝试使用console.log(a);

进行调试

最后,使用var a = document.getElementById('txt1').value;,以防万一:)

答案 2 :(得分:0)

而不是表单ID使用名称

<script>
        function validation()
        {
            var a=document.form1.txt1.value;
            console.log(a);
            if(a=='')
            {
                alert("Hey");
                return false;
            }
            return true;
        }
    </script>    
</head>
<body>
    <form name="form1" onsubmit="return validation(this)" action="newjsp1.jsp">  
    <input type="text" id="txt1">
    <input type="submit" id="sub">
  </form>
</body>