<script type="text/javascript">
function go()
{    
    var kw = document.getElementById('kw').value;
    var kw=document.free.edit.value;
    if (kw.length==0) {

     //alert("输入框不能为空!");
      document.free.edit.focus();
      return false;
}
else
{
     location.href = 'allnews.php?edit=' + encodeURI(kw);
     return true;  
}  
 }
</script> <DIV id=fm>
 <form  name="free" method="GET" action='' onSubmit="if(go()) return false;" >
    <input type="text" name=edit  class="STYLE2" id=kw maxlength=150>
    <SPAN class=btn_wr>
      <INPUT type="submit" class=btn id=su   value="检 索"  >  
      </SPAN>
</FORM></DIV>
为什么onSubmit事件只有这样写,才能成功实现跳转?return go()就不行呢?

解决方案 »

  1.   

    你确定你没有写错么?
    return go()——你这里的括号是全角的啊
      

  2.   

    经验证,return go()确实不行,求解释...
      

  3.   

    onsubmit="return true"//提交
    onsubmit="return false"//不提交onsubmit="return fun()"//用函数fun()返回值来控制是否提交,如果fun()无返回值默认为true
    楼主你的if(go())return false;意思就是if函数go()返回true那么就不提交
      

  4.   


    <script type="text/javascript">
    function go()
    {
          var kw = document.getElementById('kw').value;
          var kw=document.free.edit.value;
          if (kw.length==0) {
          //alert("输入框不能为空!");
          document.free.edit.focus();
          return false;
        }
        else
        {
            alert(1);
        }
    }
    </script> <DIV id=fm>
    <form name="free" method="GET" action='' onSubmit="return go();" >
      <input type="text" name=edit class="STYLE2" id=kw maxlength=150>
      <SPAN class=btn_wr>
      <INPUT type="submit" class=btn id=su value="检 索" >
      </SPAN>
    </FORM></DIV>
    经测试,一切正常。
      

  5.   

    你都修改href了,怎么还能return呢?
      

  6.   

    onSubmit="if(go()) return false;上面逻辑有问题
      

  7.   

    非常奇怪的写法!如果你是想通过表单提交到 allnews.php
    那么就没有必要有这句
    location.href = 'allnews.php?edit=' + encodeURI(kw);
    只需
    <form name="free" method="GET" action='allnews.php' onSubmit="return go()" >
    就可以了如果你只是想在跳转前做个检查,以确保参数存在。就
    location.href = 'allnews.php?edit=' + encodeURI(kw);
    return false;<form name="free" method="GET" action='' onSubmit="return go()" >