我写了一个小Demo 发现没法验证
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function fun(){
var  uid=document.getElementById("uid").value;
if(uid==" "){
alert("请输入名字");
return false;
}else
{
return true;
}
}</script>
</head>
<body><!-- 验证表单 -->
<form action="page2.jsp" method="post">
<input type="text" name="uid" id="uid">
<input type="submit" value="验证提交" onclick="return fun()">
</form>
</body>
运行就是直接提交 不验证

解决方案 »

  1.   

    type="button"
      

  2.   

    把type="submit"改成button,或者把onclick="return fun()"改成onsubmit="fun()"
      

  3.   

    <form action="page2.jsp" method="post">
    <input type="text" name="uid" id="uid">
    <input type="button" value="验证提交" onclick="return fun()">
    </form>
    点了没反应,不验证。
      

  4.   

    应该不是没反应,是check通过了吧。
    你试试在
    var  uid=document.getElementById("uid").value;的上面一行加上
    alert("test");
    看能不能被执行。
    然后再alert(uid)试试
      

  5.   

    onsubmit要写在form里的:
    <form action="#" method="post" onsubmit="return fun()">
    <input type="text" name="uid" id="uid" />
    <input type="submit" value="validate" />
    </form>
      

  6.   

    现在是可以check()的function fun(){
    alert("test");
    var uid=document.getElementById("uid").value;
    if(uid==" "){
    alert("请输入名字");
    return false;
    }else
    {
    return true;
    }
    }alert("test")是可以输出的
    感觉是取值那一行出现了问题
      

  7.   

    <script type="text/javascript">
    function fun(){
    alert("test");
     
    if(true){
    alert("请输入名字");
    return false;
    }else
    {
    return true;
    }
    }</script>
    这样就有完整的输出了。。现在的问题是  我取值那一行  问题在哪呢?
      

  8.   

    <body><!-- 验证表单 -->
    <form name="form1" action="page2.jsp" method="post">
    <input type="text" name="uid" id="uid">
    <input type="submit" value="验证提交" onclick="return fun()">
    </form>
    </body>var uid=form1.uid.value
      

  9.   

    试试在<form>元素里面使用onsubmit事件,调用你的函数。
      

  10.   

     var uid=document.getElementById("uid").value;这个绝对是有值的,你可以判断前alert(uid)判断不对,你那判断,除非你打相同的空格,否者验证都是FALSE啊判断为空 用  if(uid.equal("")||uid==null)  或者你先打下uid 空的时候看看打出来时什么
      

  11.   

    已经知道原因了   因为if(uid==" "//这边多了个空格){
            alert("请输入名字");
        return false;