如果你问“为什么时好时坏”,我想说一下我的看法。 我在写代码的时候,一般也会使和 onsubmit="return myfunction();" 如果你的 myfunction()方法在执行的过程中出现错误,那么系统默认返回true 所以表单还是会提交上去。 注意,你的 Check()会不会代码在运行的时候出现错误,比如:javascript语句有问题。 还有,就是如果浏览器禁止了javascript执行,那么表单还是会继续提交。 关于你说的第二种方法: <input name="提交" type="button" onClick="return Check()" class="button" value="提交"> 应该改成这样: <input name="提交" type="button" onClick="CheckAndSubmit()" class="button" value="提交"> CheckAndSubmit() 的意思就是检查并提交表单: function CheckAndSubmit() { 检查代码.... 你的form名字.submit(); //提交表单 } 这种方法有一个优点: 就是当检查完全通过后,再提交表单。 如果CheckAndSubmit本身有语法等方面的javascript错误,就不会再提交表单。 但是缺点也有一个,如果浏览器禁止了javascript,那么表单将无法提交。 不过一般的浏览器都是不会屏蔽javascript的。