<html>
  <head>
    <title>bd</title>
  </head>
  <form id="ceshi" name="ceshi" action="#" METHOD="POST" onsubmit = "return confirm('ceshi');" >
    <input type="button" onclick="this.form.submit()" value="click" />
  </form>
</html>
上面的代码,点击click按钮,直接提交表单,并不会触发onsubmit事件
如果是this.form.onsumbit()的话,则只是触发时间,但并不提交表单...
那我现在怎么既触发事件又提交表单呢??

解决方案 »

  1.   

    submit这个方法是不触发onsubmit时间的,如果想要触发它,
    需要调用 fireEvent方法。尝试一下:this.form.fireEvent('onsubmit');
      

  2.   

    把<input type="button" onclick="this.form.submit()" value="click" />
    变成<input type="submit" value="click" />
      

  3.   


    <html>
      <head>
        <title>bd</title>
      </head>
      <form id="ceshi" name="ceshi" action="#" METHOD="POST" >
        <input type="button" onclick="if(confirm('ceshi'))this.form.submit()" value="click" />
      </form>
    </html><html>
      <head>
        <title>bd</title>
      </head>
      <form id="ceshi" name="ceshi" action="#" METHOD="POST" onsubmit = "return confirm('ceshi');" >
        <input type="submit" value="click" />
      </form>
    </html>
      

  4.   

    测试过不行哦...
    因为不能使用
    <input type="submit" />
    所以只能用onsubmit来解决
    自己想到一个方法...
    <html>
      <head>
        <title>bd</title>
      </head>
      <body onload="alert('flaus')">
        <form id="ceshi" name="ceshi" action="#" METHOD="POST" onsubmit = "if(confirm('ceshi')) this.submit();" >
          <input type="button" onclick="this.form.fireEvent('onsubmit')" value="click" />
        </form>
      </body>
    </html>
    测试通过
      

  5.   

    帖错了...上面那个fireEvent有没有都无所谓
    <html>
      <head>
        <title>bd</title>
      </head>
      <body onload="alert('flaus')">
        <form id="ceshi" name="ceshi" action="#" METHOD="POST" onsubmit = "if(confirm('ceshi')) this.submit();" >
          <input type="button" onclick="this.form.onsubmit()" value="click" />
        </form>
      </body>
    </html>