当用js提交表单,document.forms[0].submit();没有submit按钮怎么验证

当用js提交表单,document.forms[0].submit();没有submit按钮如何验证
用submit()提交表单致使onsubmit失效解决方法

用submit()提交表单 致使onsubmit失效解决方法 onclick方法失效
=========================================================================
下边本文中将要用到的脚本

程序代码

  
 <script language="javascript">
    //表单提交
    function submit1(obj){
        obj.submit();
    }
    //表单提交,调用checked函数
    function submit2(obj){
        return checked();
        obj.submit();
    }
    //表单提交,将ehecked函数内容写入submit3
    function submit3(obj){
        if(document.form1.username.value == ""){alert("姓名忘了填写?");document.form1.username.focus();return false;}
        obj.submit();
    }
    //表单验证
    function checked(){
        if(document.form1.username.value == ""){alert("姓名忘了填写?");document.form1.username.focus();return false;}
        return true;
    }
    </script>


复制代码

二、分析过程

1.通常的表单验证法,在form中加入onsumbit事件

程序代码
    <form id="form1" name="form1" method="post" action="mzwucom.asp" onsubmit="checked();">
      UserNmae:
      <input name="username" type="text" id="username" size="10" maxlength="10" />
      <input type="submit" name="Submit" value="提交" />
    </form>


复制代码

结果:验证机制发生作用!

2.在1的基础上改为通过调用submit()方法提交表单(红色为和1相比修改部分,下同)

程序代码

   
<form id="form1" name="form1" method="post" action="mzwucom.asp" onsubmit="checked();">
      UserNmae:
      <input name="username" type="text" id="username" size="10" maxlength="10" />
      <input type="button" name="Submit" value="提交" onclick="submit1(this.form);" />
    </form>


复制代码

结果:验证机制失效,表单直接提交!

3.在1的基础上去掉onsubmit事件,调用submit2

程序代码

  
 <form id="form1" name="form1" method="post" action="mzwucom.asp">
      UserNmae:
      <input name="username" type="text" id="username" size="10" maxlength="10" />
      <input type="button" name="Submit" value="提交" onclick="submit2(this.form);" />
    </form>


复制代码

结果:验证机制发生作用,但正确时表单没有提交,由于return true在submit()前!

4.在1的基础上去掉onsubmit事件,调用submit3

程序代码

   
<form id="form1" name="form1" method="post" action="mzwucom.asp">
      UserNmae:
      <input name="username" type="text" id="username" size="10" maxlength="10" />
      <input type="button" name="Submit" value="提交" onclick="submit3(this.form);" />
    </form>


复制代码

结果:验证机制发生作用,通过则提交表单!
==========================================================
用submit()提交表单 致使onsubmit失效解决方法 onclick方法失效