window.open (参数使用post方式提交)

window.open (参数使用post方式提交)window.open(参数使用post方式提交)博客分类:webHTMLjsp一般window.open传参数都是用Get..方式..在url后面拼接参数…有时候并不适用,如:1)不想被看到参数信息2)参数过长,get有限制会被截断3)可能有中文编码问题所以需要用post方式方式一代码functionsubmitF

window.open
window.open (参数使用post方式提交)

一般

window.open 传参数都是用Get..方式..在url后面拼接参数…

有时候并不适用,如:

1)不想被看到参数信息

2)参数过长,get有限制会被截断

3)可能有中文编码问题

所以需要用post方式

方式一代码
function submitForm(){ 

  window.open(”,’newWin’,’width=400,height=500,scrollbars=yes’); 

  form对象.submit(); 



<FORM name=form action=”YourActionFile.html” method=”post” target=”newWin”> 

… 

</Form> 

function submitForm(){ 

  window.open(”,’newWin’,’width=400,height=500,scrollbars=yes’); 

  form对象.submit(); 



<FORM name=form action=”YourActionFile.html” method=”post” target=”newWin”> 

… 

</Form> function submitForm(){ 

  window.open(”,’newWin’,’width=400,height=500,scrollbars=yes’); 

  form对象.submit(); 



<FORM name=form action=”YourActionFile.html” method=”post” target=”newWin”> 

… 

</Form> 
引用

window.open以post方式提交

第一种方式

   最近在做web项目,碰到需要跨页面传递参数的功能,就是那种需要把当前页面的内容带到新开的子窗体中,以前的做法是传一个id过去,然后在新窗口中去读数据库的内容。虽然不怎么麻烦,但是如果内容么有在数据库里保存,仅仅是处以拟稿状态时,就不能实现了,用户还常常认为是个bug。考虑采用get的方式传递,把需要的内容都序列化然后,通过url去传,显得很臃肿,而且get的传递内容长度有限制。于是就想到用post的方式传递,问题在于open方法不能设置请求方式,一般网页的post都是通过form来实现的。如果仅仅模拟form的提交方式,那么open方法里那种可设置窗体属性的参数又不能用。最后想办法整了这么一个两者结合的方式,将form的target设置成和open的name参数一样的值,通过浏览器自动识别实现了将内容post到新窗口中。

    比较有意思的是直接通过调用form的submit方法不能触发onsubmit事件,查看了帮助文档,必须手动的触发,否则只能看到页面刷新而没有打开新窗口。代码中只传递了一个参数内容,实际可传递多个。

具体代码如下:

Java代码
 
<script> 

 

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= “content” 

 

     hideInput.value= data; 

 

     tempForm.appendChild(hideInput);    

 

     tempForm.attachEvent(“onsubmit”,function(){ openWindow(name); }); 

 

     document.body.appendChild(tempForm);   

 

 

 

     tempForm.fireEvent(“onsubmit”); 

 

     tempForm.submit(); 

 

     document.body.removeChild(tempForm); 

 



 

 

 

function openWindow(name)   

 

{   

 

     window.open(‘about:blank’,name,’height=400, width=400, top=0, left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=yes, status=yes’);    

 

}   

 

</script> 
 

 

今天的文章window.open (参数使用post方式提交)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30942.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注