<script language="javascript">

function check(){
if(form1.channelName.value==""){
 alert("频道名不能为空");
 form1.name.focus();
 return false;
 }
}
</script>
<form action="" name="form1" method="post" onSubmit="return check()">
                  ..................................................
                  ..................................................
                  ..................................................
                  ..................................................
                  ................................................../////////////////////////////////////
当我提交时  提示框出来了(就是alert起到作用了) 但是onSubmit=“return false”没起到作用  表单仍然执行了跳转   请问这是为什么呢

解决方案 »

  1.   

    function check(){
    if( document.form1.channelName.value==""){
    alert("频道名不能为空");
    document.form1.channelName.focus();
    return false;
    }
    }加document
    form1.name.focus();  ->form1.channelName.focus();
      

  2.   


    <html><body>
    <script language="javascript">function check(){
    if(form1.channelName.value==""){
    alert("频道名不能为空");
    form1.channelName.focus();
    return false;
    }
    }
    </script>
    <form action="../" name="form1" method="post" onSubmit="return check();">
    <input type="type" name="channelName" value=""/>
    <input type="submit" name="submit" value="提交"/>
    </form></body>
    </html>
    form1.name.focus(); 改成 form1.channelName.focus();form1.name.focus(); 可能是页面中没有name这个元素,导致js出错,失效的原故.
      

  3.   

    你这样写 如果调用check的话 应该永远不会提交吧
    因为你没有一个返回 true的地方
      

  4.   

    把 check()函数写在<input type="submit" name="submit" value="提交" onclick="return check()"/>
      

  5.   

    // 给你的建议,因为程序的错误永远不会影响submit
    function check(){
    var checked = false; try {
    if(form1.channelName.value==""){
    alert("频道名不能为空");
    form1.name.focus();
    return false;
    } else {
    checked = true;
    }
    } catch(e) {
    checked = false;
    }
    return checked ? true : false;
    }
      

  6.   

    不好意思  前面的几位可能理解错意思了  你们说的那个没出错 
    呵呵 我的意思是  我试验了一下 提交了一个空的   它提示错误框“频道名不能为空”出来了  
    但我要的效果是 点击提示错误框“频道名不能为空”确定后  回到原来的界面 就是 不要让表单提交 
    但是问题是   它还是提交了   
    只有6楼的朋友说到了关键  呵呵 不过我照着改了  提交空的  但是表单还是提交了   继续求解
      至于5楼的  我认为 既然是阻止表单提交 就应该是写在<form>里面吧  呵呵 应该不是你说的那个问题
      

  7.   

    <script language="javascript">function check(){
    if(form1.channelName.value==""){
    alert("频道名不能为空");
    return;
    form1.name.focus();
    $("form1").submit();
    }
    }
    </script>
    <form action="form1" id="" name="form1" method="post" onSubmit="check()">
      

  8.   

    你只有个一个if(),而没有对应的else,即使没有你也应该有个默认的return才对
      

  9.   


    <html><body>
    <script language="javascript">function check(){
        if(form1.channelName.value==""){
            alert("频道名不能为空");
            form1.channelName.focus();
            return false;
        }else{
            document.form1.action='';
            document.form1.submit();
            return;
        }
    }
    </script>
    <form action="../" name="form1" method="post">
        <input type="type" name="channelName" value=""/>
        <input type="button" name="submit" value="提交" onclick='check()'/>
    </form></body>
    </html>
      

  10.   

    呵呵  问题解决了  是我的错啊  我看代码太多 怕你们看的麻烦  所以就只贴出了“自认为”是核心的代码  呵呵 原来是
    function abc(aa){
    document.form1.action="channel.do?op="+aa;
    document.form1.submit();
    }
    这个方法中的document.form1.submit();这段代码惹的祸  
      不过我看了下12楼的那位朋友的解决方法 我认为
    if(form1.channelName.value==""){
      alert("频道名不能为空");
      form1.channelName.focus();
      return false;
      }else{
      document.form1.action='';
      document.form1.submit();
      return;
      }
    这样写的话  不管怎么都会是不能跳转的吧  就算频道名不为空document.form1.action='';
      

  11.   

    楼主先看看form1是什么吧form1.tagName
      

  12.   

    <script language="javascript"> function check(form1){
     if(form1.channelName.value==""){
     alert("频道名不能为空");
    form1.name.focus();
     return (false);
     }
     }
    </script>
     <form action="" name="form1" method="post" onSubmit="return check(this)">