window.Openウィンドウを開きpostでコミット

3106 ワード

プロジェクトで新しいウィンドウを開くときに
window.open(CONTEXT_PATH + '/base/entryAddDataPageEditor.do?listCode=' + relaCode, '_blank', 'height=600, width=900, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,status=no')
このようにして新しいウィンドウを開きます
この方式はgetのパラメータ伝達方式であり,パラメータが中国語であれば中国語の文字化けしの問題に直面する可能性がある.また、ブラウザのアドレスにパラメータを表示したくない場合もあります.post方式でこのような機能を実現したい
ネットで資料を見つけた
解決策は以下の通り
            function openWindow(name)  {  
                 var iWidth=1100; // ;
                 var iHeight=550; // ;
                 var iTop = (window.screen.availHeight-30-iHeight)/2; // ;
                 var iLeft = (window.screen.availWidth-10-iWidth)/2; // ;        
                 window.open('about:blank',name,"height="+iHeight+", width="+iWidth+", top="+iTop+", left="+iLeft+",toolbar=no, menubar=no,  scrollbars=yes,resizable=yes,location=no, status=no");  
            }  

            function openPostWindow(url, data, name){
                var tempForm = document.createElement("form");    
                tempForm.id="tempForm1";    
                tempForm.method="post";    
                tempForm.action=url;    
                tempForm.target=name;    

                var hideInput = document.createElement("input");    
                hideInput.type="hidden";    
                hideInput.name= "source";  
                hideInput.value= data; 
                tempForm.appendChild(hideInput);
               /*
               for(key in data){
                  var hideInput = document.createElement("input");    
                  hideInput.type="hidden";    
                 hideInput.name= 'model.'+key;  
                 hideInput.value= data[key];  
                 tempForm.appendChild(hideInput);
               }*/
                     
                //   
                if (window.attachEvent) { 
                    tempForm.attachEvent("onsubmit",function(){ openWindow(name); });  
                } else if (window.addEventListener) { 
                    tempForm.addEventListener("onsubmit",function(){ openWindow(name); });  
                }
                document.body.appendChild(tempForm);    
                //   
                if(tempForm.fireEvent){
                    tempForm.fireEvent("onsubmit");
                }else{
                    var evt = document.createEvent('HTMLEvents');   
                    evt.initEvent('onsubmit', true, true);   
                    tempForm.dispatchEvent(evt);   
                }
                tempForm.submit();  
                document.body.removeChild(tempForm);  
            }        

// 
/*openPostWindow(CONTEXT_PATH + '/base/entryWherePageEditor.do',{
				 	'ZF1':1,
				 	'listCode':'tzfz'
				 },'mywin')
*/
openPostWindow(CONTEXT_PATH +"/base/entryPreviewPageEditor.do",viewport.ue.getContent(),'mywin')