我的网页上有两个隐藏的表单,在关闭页面的时候,需要顺序提交。
无论怎么想办法,总是会出现下面的某一个问题:
1、只提交了第一个,第二个没有提交
2、两个同时提交,第二个优先于第一个提交了
3、两个顺序提交了,但是第二个有时会没有提交上,而且出现的几率不固定。这个问题困扰了很长时间了,想在此请教各位大侠,帮帮小弟。万分感谢!!

解决方案 »

  1.   


    function doSetAicc(aicc_data) {
    /*
    var aicc_form = "<form action='"+aicc_url+"' method='POST' name='command'>";
    aicc_form += "<input type='hidden' name='command' value='putparam'>";
    aicc_form += "<input type='hidden' name='session_id' value='"+aicc_sid+"'>";
    aicc_form += "<input type='hidden' name='version' value='"+aicc_version+"'>";
    aicc_form += "<input type='hidden' name='aicc_data' value='"+aicc_data+"'></form>";
    aicc_comm.document.write(aicc_form);
    aicc_comm.document.command.submit();
    */这是之前直接提交的。
    $.get(aicc_url,{command:"putparam",session_id:aicc_sid,version:aicc_version,aicc_data:aicc_data},function(data){exitau();}); 这是后来用了Ajax的。
    }下面的是第二个表单function exitau(){
    if(aicc_url!=0){
    var exit_form = "<form action='"+aicc_url+"' method='POST' name='command'>";
    exit_form += "<input type='hidden' name='command' value='ExitAU'>";
    exit_form += "<input type='hidden' name='session_id' value='"+aicc_sid+"'>";
    exit_form += "<input type='hidden' name='version' value='"+aicc_version+"'>";
    exit_form += "<input type='hidden' name='aicc_data' value=''></form>";
    aicc_exit.document.write(exit_form);
    aicc_exit.document.command.submit();
    }
    }
    用Ajax是想在得到第一个表单提交的返回值之后提交第二个表单的。但是估计是发生的时机是在关闭的时候,网页没有得到返回值,所以也没调用后面的exitau()这个函数。再后来,加了一个弹出框,想延迟一下网页关闭的时间。但是没起作用。