+ -
当前位置:首页 → 问答吧 → 提交表单时提交了两次!!

提交表单时提交了两次!!

时间:2011-11-28

来源:互联网

<FORM METHOD="POST" action="publish.jsp" ENCTYPE="multipart/form-data" name="form1">
  <table width="500" border="0" cellpadding="0" cellspacing="0" >
  <tr><td align="right">发布信息标题:</td>
  <td align="left"><INPUT TYPE="text" id="name" name="name" SIZE="30"></td></tr><BR>
  <tr height="20"></tr>
  <tr><td align="right"> 请选择要发布的信息:</td>
  <td align="left"><INPUT TYPE="FILE" NAME="FILE1" SIZE="30"></td></tr><BR>
  <tr height="20"></tr>
  <tr><td></td><td align="right"> <INPUT type="submit" VALUE="发布信息"></td></tr>
  </table>
</FORM>

作者: chenchunyu11   发布时间: 2011-11-28

重复提交表单的问题,给你两个思路:
1、使用JS提交表单,<INPUT type="submit" VALUE="发布信息">改成button,点击此button时,先禁用此按钮,再将相应表单提交
2、后台设置一个标识变量,在前台使用隐藏域来记录。这样你就可以通过此隐藏域的值来判断是不是重复提交。

作者: im110   发布时间: 2011-11-28

我先试试啊!

作者: chenchunyu11   发布时间: 2011-11-28

看看js里面是否有提交的代码

作者: iffqyd   发布时间: 2011-11-28

换成button就不提交了,我在tomact服务器的时候好用的,传到weblogic就不好用了 。要点击两次发布信息才提交的上去。数据库里插入了两条记录!

作者: chenchunyu11   发布时间: 2011-11-28

我这个页面没有js

作者: chenchunyu11   发布时间: 2011-11-28

这个跟服务器没关系,我看你提交的JS是怎么写的。

作者: im110   发布时间: 2011-11-28

你都换成BUTTON了,不使用JS是提交不了的。

作者: im110   发布时间: 2011-11-28

<INPUT id="tj" type="button" VALUE="发布信息" onclick="commit()">

function commit() {
  var submitBtn = document.getElementById("tj");
  submitBtn.disabled = "disabled";
  doucment.forms[0].submit();
}

作者: im110   发布时间: 2011-11-28

现在好了,好像是网络的问题! 谢谢帮忙了 !

作者: chenchunyu11   发布时间: 2011-11-28