1) 你说提交了3次,是根据什么现象判断出来提交了3次?
2) <form ...>这行代码是这么写的 ?
3) save_frm()函数中是否有 return true/false ?
4) save_frm()函数中是否有 event.returnValue=true/false ?
5) asp/jsp服务端程序是否有问题导致重复执行某个步骤 ? 你保存数据的代码检查一下

解决方案 »

  1.   

    日志上显示反复提交了3次,执行了3次action,前两次都正确,第3次出错。还有装了一个ieHttpHeader软件,从其http head可以看出提交了3次。
    日志如下: 本来只执行一次ERPEXP.ERPEXP_P_SaveTrvExpInfo.do就可以了,但有时却执行了3次,但有时只执行1次。POST /internet/ERPEXP.ERPEXP_P_SaveTrvExpInfo.do?command=finish&list[@type"ERPEXP_T_TrvExpExplain"]=&list[@type"ERPEXP_T_TrvExpPrj"]=&list[@type"ERPEXP_T_TrvExpDept"]= HTTP/1.0
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
    Referer: http://localhost:7001/internet/ERPEXP.ERPEXP_P_PreEditTrvExp.do?command=update&pk=101781
    Accept-Language: zh-cn
    Content-Type: application/x-www-form-urlencoded
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
    Host: localhost:7001
    Content-Length: 11734
    Connection: Keep-Alive
    Pragma: no-cache
    Cookie: eos_style_cookie=default; hciCurMenuPath=%u62A5%u9500%u7CFB%u7EDF%u2192%u5DEE%u65C5%u62A5%u9500%u2192%u6211%u7684%u5DEE%u65C5%u62A5%u9500%u5355; hciTopMenuPath=%u62A5%u9500%u7CFB%u7EDF; JSESSIONID=CIAAcuTm1ePAyjjpW4D3RzOhc4f2pUv9zb1mhbsMBisbPleeVRq1!1849507514!-1062731280!7001!443HTTP/1.0 200 OK
    Date: Mon, 16 May 2005 08:19:07 GMT
    Server: WebLogic WebLogic Server 6.1 SP2  12/18/2001 11:13:46 #154529 
    Content-Type: text/html; charset=GB2312
    Connection: ClosePOST /internet/ERPEXP.ERPEXP_P_SaveTrvExpInfo.do?command=finish&list[@type"ERPEXP_T_TrvExpExplain"]=&list[@type"ERPEXP_T_TrvExpPrj"]=&list[@type"ERPEXP_T_TrvExpDept"]= HTTP/1.0
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
    Content-Type: application/x-www-form-urlencoded
    Referer: http://localhost:7001/internet/ERPEXP.ERPEXP_P_PreEditTrvExp.do?command=update&pk=101781
    Accept-Language: zh-cn
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
    Host: localhost:7001
    Content-Length: 11734
    Connection: Keep-Alive
    Pragma: no-cache
    Cookie: eos_style_cookie=default; hciCurMenuPath=%u62A5%u9500%u7CFB%u7EDF%u2192%u5DEE%u65C5%u62A5%u9500%u2192%u6211%u7684%u5DEE%u65C5%u62A5%u9500%u5355; hciTopMenuPath=%u62A5%u9500%u7CFB%u7EDF; JSESSIONID=CIAAcuTm1ePAyjjpW4D3RzOhc4f2pUv9zb1mhbsMBisbPleeVRq1!1849507514!-1062731280!7001!443HTTP/1.0 200 OK
    Date: Mon, 16 May 2005 08:19:08 GMT
    Server: WebLogic WebLogic Server 6.1 SP2  12/18/2001 11:13:46 #154529 
    Content-Type: text/html; charset=GB2312
    Connection: CloseGET /internet/ERPEXP.ERPEXP_P_SaveTrvExpInfo.do?command=finish&list[@type"ERPEXP_T_TrvExpExplain"]=&list[@type"ERPEXP_T_TrvExpPrj"]=&list[@type"ERPEXP_T_TrvExpDept"]= HTTP/1.0
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
    Accept-Language: zh-cn
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
    Host: localhost:7001
    Connection: Keep-Alive
    Cookie: eos_style_cookie=default; hciCurMenuPath=%u62A5%u9500%u7CFB%u7EDF%u2192%u5DEE%u65C5%u62A5%u9500%u2192%u6211%u7684%u5DEE%u65C5%u62A5%u9500%u5355; hciTopMenuPath=%u62A5%u9500%u7CFB%u7EDF; JSESSIONID=CIAAcuTm1ePAyjjpW4D3RzOhc4f2pUv9zb1mhbsMBisbPleeVRq1!1849507514!-1062731280!7001!443HTTP/1.0 200 OK
    Date: Mon, 16 May 2005 08:19:08 GMT
    Server: WebLogic WebLogic Server 6.1 SP2  12/18/2001 11:13:46 #154529 
    Content-Type: text/html; charset=GB2312
    Connection: Close
      

  2.   

    代码很长,关键代码如下:<form method="post" name="myForm" onsubmit="return false;">
    ... ...【<a href="javascript:frm_submit('save')">暂时保存</a>】 【<a href="javascript:frm_submit('finish')">完成</a>】
    ... ...
    <script>
    function frm_submit(arg1,arg2){
    var frm=document.myForm;
    var tmpItmno1,tmpItmno2; switch(arg1){
    case "save":
    if(check()){
    frm.action="ERPEXP.ERPEXP_P_SaveTrvExpInfo.do?command=save"; /* for Weblogic */
    if(explain_cnt ==0)
    frm.action=frm.action+'&list[@type"ERPEXP_T_TrvExpExplain"]=';
    if(prj_cnt ==0)
    frm.action=frm.action+'&list[@type"ERPEXP_T_TrvExpPrj"]=';
    if(dept_cnt ==0)
    frm.action=frm.action+'&list[@type"ERPEXP_T_TrvExpDept"]='; frm.submit();
    }
    break;
    case "finish":
    if(check()){
    frm.action="ERPEXP.ERPEXP_P_SaveTrvExpInfo.do?command=finish"; /* for Weblogic */
    if(explain_cnt ==0)
    frm.action=frm.action+'&list[@type"ERPEXP_T_TrvExpExplain"]=';
    if(prj_cnt ==0)
    frm.action=frm.action+'&list[@type"ERPEXP_T_TrvExpPrj"]=';
    if(dept_cnt ==0)
    frm.action=frm.action+'&list[@type"ERPEXP_T_TrvExpDept"]=';   frm.submit();
    }
    break;
    }
    }

    function check(){
    var frm=document.myForm;
    var tmpfd=frm.elements["ERPEXP_T_TrvExp/billNum"].value;
    if( tmpfd.length==0 || parseInt(tmpfd)<1){
    alert("请填写附件张数!");
         frm.elements["ERPEXP_T_TrvExp/billNum"].focus();
           return false;
    }
    if( frm.elements["ERPEXP_T_TrvExp/purpose"].value.trim()==""){
    alert("请填写出差目的!");
    frm.elements["ERPEXP_T_TrvExp/purpose"].focus();
    return false;
    } if(frm.elements["ERPEXP_T_TrvExp/benefDeptNo"].value=="") return true;
    else{
    var hasSubDept=false;
    var deptNo2=frm.elements["ERPEXP_T_TrvExp/benefDeptNo"].value;
    for(var x=0;x<parentDeptNo.length;x++){
    if(parentDeptNo[x]==deptNo2){
    hasSubDept=true;
    break;
    }
    }
    if(hasSubDept){
    alert("请选择最小受益部门!");
    return false;
    }
    } if(!frm.elements["isMultiDept"].checked) {
    if(frm.elements["ERPEXP_T_TrvExp/benefDeptNo"].value=="") return true;
    else{
    var hasSubDept=false;
    var deptNo2=frm.elements["ERPEXP_T_TrvExp/benefDeptNo"].value;
    for(var x=0;x<parentDeptNo.length;x++){
    if(parentDeptNo[x]==deptNo2){
    hasSubDept=true;
    break;
    }
    }
    if(hasSubDept){
    alert("请选择最小受益部门!");
    return false;
    }
    }
    }else{
    if(dept_cnt==0) {
    alert("请添加部门费用分摊项!");
    return false;
    }
    if(total_first!=total_dept) {
    alert("部门分摊的总费用与报销总费用不相等!");
    return false;
    }
    } var deptNo=frm.elements["ERPEXP_T_TrvExp/deptNo"].value;
    if( deptNo.indexOf("12")==0) { //对pso人员要求填写项目费用和公共费用
    if(total_second==0 ){
    alert("请分摊项目费用或公共费用!");
    return false;
    }
    if(parseFloat(total_second)!=0 && parseFloat(total_second) != parseFloat(total_first)) {
    alert("项目费用和公共费用总和应该等于报销总费用!");
    return false;
    }
    }
    return true;
    }</script>