onsubmit return check(); 还是会跳走,为什么

<script language="javascript">
   function CheckPost ()
   {
      if (addForm.user.value == "")
      {
          alert("请填写用户名!");
          addForm.username.focus();
          return false;
      }
     if (addForm.title.value.length < 5)
     {
          alert("标题不能少于5个字符!");
          addForm.title.focus();
          return false;
     }
     return true;
   }
</script>

<form action="test.php" method="post" name="addForm"  onsubmit="return CheckPost();">
     <div>用户:<input type="text" size="10" name="user" maxlength="20"/></div>
     <div>标题:<input type="text" name="title" maxlength="50"/></div>
     <div>内容:<textarea name="content" rows="8" cols="30"></textarea></div>
     <div>
           <input type="submit" name="submit" value="发表留言"/>
     </div>
</form>


源代码出处 [https://www.cnblogs.com/ahudyan-forever/p/5795463.html][1]

我试了,直接return false不会跳,但是 return CheckPost();还是会走到test.php
尽管途中出了alert警示窗

为什么,不太懂

阅读 1.6k
1 个回答

理论上 return CheckPost(); 是不会跳到 test.php 的,但是你可以打开控制台并且 Preserve Log 看看,在 return false 之前有语句报错了,所以没执行 return false

你修改或者去掉 addForm.username.focus(); 就正常了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题