a.jsp 里面的form提交到b.jsp
而b.jsp通过showModalDialog方式打开,是否有可行的办法?

解决方案 »

  1.   

    /**
    * This function is to submit a form to ModalDialog.
    * JK 2007-03-06
    */
    function submitToModalDialog(formObj,dialogTitle,sFeatures){
    var dialogArguments=new Array();
    dialogArguments["src"]=null;
    dialogArguments["title"]=dialogTitle;
    dialogArguments["form"]=formObj;
    return showModalDialog("jsp/DialogFrame.jsp",dialogArguments,sFeatures);
    }-------------
    ----------jsp/DialogFrame.jsp-------
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script language=javascript> var DialogArgument=window.dialogArguments;
    if (DialogArgument!=null) document.write("<title>"+DialogArgument.title+"</title>");//for a IE bug in dialog
    else document.write("<title>Dialog</title>");
    </script>
    <title><ecv:message path="core.misc/label.dialog"/></title>
    </head><body leftMargin=0 rightMargin=0 topMargin=0 bottomMargin=0 onload="initFun();" scroll=no> 
    <iframe name="dialogFrame" src="/html/com/menu/blank.html" width=100% height=100% id=dialogIframe></iframe>
    <form name="dialogForm" method="post" action="" target="dialogFrame">
    <input type="hidden" name="tempXXXX">
    </form>
    </body></html>
    <script language=javascript>function initFun()
    { if (DialogArgument!=null){
    if(DialogArgument.form!=null){
    var argForm=DialogArgument.form;
    var tempForm=document.createElement("<form method=post target='dialogFrame'   style='display:none;' >");
    tempForm.action=argForm.action;
    var argFormElements=argForm.elements;
    for(var i=0;i<argFormElements.length;i++){
    tempForm.insertAdjacentHTML("beforeEnd",argFormElements[i].outerHTML);
    }
    document.body.appendChild(tempForm);
    tempForm.submit();
    }
    else{
    document.dialogForm.action=DialogArgument.src;
    document.dialogForm.submit();
    }

    }
    else alert("你用错了");
    }

    </script>
      

  2.   

    不是很懂你的意思,我的意思是这个用showModalDialog方式打开的b.jsp页面能够得到a.jsp页面提交过来数据。
      

  3.   

    换一种思路,用Session传递数据...