注册 登录
编程论坛 JavaScript论坛

关于不能触发onsubmit事件的JS问题

enjoy535 发布于 2008-05-06 10:19, 7354 次点击
程序代码:
<script language="JavaScript" type="text/javascript" src="inc/check.js"></script>
<script   language="javascript">
<!-- //  
function check_frm(){
      alert("开始检查!");

      var name=Jtrim(user_frm.txt_name.value);    //Jtrim是包含在check.js里面的一个去空格函数
      if(name.length<1 || name.length>30 ){
      alert("请检查用户名!");
      user_frm.txt_name.focus();
      return false;
      }
... ...
}
// -->     
</script>

上面这段是用于检验表单提交的JS代码
<form action="?action=do" method="post" name="user_frm" id="user_frm" onSubmit="return check_frm();">
... ...
<input name="Submit" type="submit" value="提 交">

这段是表单头的程序,且表单里面有submit按钮

但当我运行测试时,却有时能触发onsubmit,有时却又不能触发。“开始检查”的那个弹出框是我故意用来测试是否调用到该函数没有,结果什么提示都没有,就直接将表单提交了。
我找了好半天都找不出问题所在,哪位能帮忙看看问题到底出在哪?
8 回复
#2
hwoarangzk2008-05-06 10:42
你没有return true这句话吗?
#3
enjoy5352008-05-06 16:38
回复 2# 的帖子
没有
应该可以不要的

刚刚我试着加了进去,但还是不行
我估计根本就没有触发onsubmit事件
#4
enjoy5352008-05-07 19:57
没有人遇到这种情况吗?
我最近怎么老是遇到这类问题啊
onsubmit事件不能触发到JS
#5
kingyar2008-05-08 16:09
只看显示出来这部分的代码,是没有道理出现问题的。
如果真出了问题,也不在这部分代码里面。
#6
sonicsun2008-05-08 17:21
检查一下页面内有没有和函数名check_frm重复的id值
就是id="check_frm",如果有,貌似就会出现你这个而问题。
#7
hugeannex2008-05-08 23:23
<script   language="javascript">
<!-- //  

去掉这个“//”注释看。
#8
啊呆1632012-02-24 23:57
我也遇到过这个问题
#9
niusanjs2012-08-22 17:06
我感觉应该是因为直接调用form的submit方法的时候,是不能触发onSubmit方法的,
你可以试一下给你那个提交按钮绑定一个onclick事件,把你那些判断的语句放到这个onclick的方法中。

只是参考意见,并不确定,你可以试一下,因为我以前也遇见过,还有就是给你个意见,你那个提交按钮的name最好不要叫“submit”,这样有时候会有问题。
1