`
20386053
  • 浏览: 432098 次
文章分类
社区版块
存档分类
最新评论

使用window.open打开新窗口,以post方式传参数

 
阅读更多
如果在使用window.open打开新窗口(可以控制尺寸)的时候,
不使用get方式传参,而是用post传。
这件事情我当时觉得不太可能。没想到很快他就找到一个实现方式,试验通过了。
呵呵,看来好多看似不可能的东西,换个角度思考,就成了可能。
方法一:
js 代码
  1. <script>
  2. functionopenSpecfiyWindown(windowName){
  3. window.open('about:blank',windowName,'width=700,height=400,menubar=no,scrollbars=no');
  4. }
  5. </script>
xml 代码
  1. <formid="editForm"name="editForm"method="post"action="viewUser"target="colors123"onsubmit="openSpecfiyWindown('colors123')">
  2. <fieldset>
  3. <inputtype="hidden"id="id"name="id"value="$!{User.id}"/>
  4. <inputtype="submit"/>
  5. </fieldset>
  6. </form>
方法二:
<script>
function openNewSpecifiedWindow( windowName )
{
window.open('about:blank',windowName,'width=700,height=400,menubar=no,scrollbars=no');
}
</script>


<form id="editForm" name="editForm" method="post" action="viewUser" target="newWindow" onsubmit="openNewSpecifiedWindow( 'newWindow' )">
<fieldset>
<input type="hidden" id="id" name="id" value="/$!{User.id}" />
<input type="submit" />
</fieldset>
</form>

原理其实很简单,在提交Form时新打开一个"newWindow"窗口,然后把数据提交到里面。如果需要新窗口全屏可以用'screen.width'和'screen.height'两个值代替上面的700和400

如果需要关闭原先的窗口,用普通的方法会有IE提示框的,经过在网上查找可以用以下方法实现

window.opener=null;
window.open('','_top');
window.top.close();


分享到:
评论

相关推荐

    window.open以post方式将内容提交到新窗口

    第一种方式 最近在做web项目,碰到需要跨页面传递参数的功能,就是那种需要把当前页面的内容带到新开的子窗体中,以前的做法是传一个id过去,然后在新窗口中去读数据库的内容。虽然不怎么麻烦,但是如果内容么有在...

    HTML5如何用window.postMessage在网页间传递数据

    作为发起端,我们可以open一个新窗口,或创建一个iframe,往新窗口里发送数据,简单起见,我们每6秒钟发送一次,然后创建消息监听器,从目标窗口监听它反馈的信息。 //弹出一个新窗口 var domain = '...

    Ajax请求成功后打开新窗口地址

    废话不多说,关键代码如下所示: jQuery.ajax({ ...会被浏览器拦截,无法打开新窗口,如果把window.open()放在ajax外面,问题就迎刃而解,代码如下: var result=""; jQuery.ajax({ "type":"post",

    js使用post 方式打开新窗口

    js中一般新打开窗口很简单直接window.open(url);就可以了, 但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求: 1,js中实现post提交 2,返回的...

    在Js页面通过POST传递参数跳转到新页面详解

    客户端请求头缓冲区大小,如果请求头总长度大于小于128k,则使用此缓冲区 client_header_buffer_size 128k; 请求头总长度大于128k时使用 large_client_header_buffers 设置的缓存区 large_client_header_

    Ajax打开新窗口被浏览器拦截的两种解决办法

    先开始打开一个空的新窗口,然后改变新窗口的url,具体代码为 var wd = window.open(); $.ajax({ type: "POST", dataType: "json", url: URL, data: {orderNo:orderNo}, success: function(data) { if(data....

    详解html5 postMessage解决跨域通信的问题

    otherWindow: 其他窗口的一个引用, 比如IFRAME的contentWindow属性, 执行,window.open返回的窗口对象. message: 将要发送到其他窗口的数据. targetOrigin:通过窗口的origin属性来指定哪些窗口能接收到消息事件,

    ajax怎么打开新窗口具体如何实现

    代码如下: var newwindow=window.open(‘about:blank’); jQuery.ajax({ type: ‘POST’, url: ‘clickRate.action’, dataType:’json’, data:{ ‘appId’: appId }, success: function(data){ if (data.success =...

    HTML5中使用postMessage实现两个网页间传递数据

    估计很少人知道HTML5 APIS里有一个window.postMessage API。...作为发起端,我们可以open一个新窗口,或创建一个iframe,往新窗口里发送数据,简单起见,我们每6秒钟发送一次,然后创建消息监听器,

    js使用小技巧

    网页传递参数 location.search(); 可编辑 obj.contenteditable=true 执行菜单命令 obj.execCommand 双字节字符 /[^x00-xff]/ 汉字 /[u4e00-u9fa5]/ 让英文字符串超出表格宽度自动换行 word-wrap: ...

    ASP.NET程序中常用的三十三种代码.txt

    1. 打开新的窗口并传送参数:  传送参数: response.write("&lt;script&gt;window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)&lt;/script&gt;")  接收参数: string a = Request.QueryString(...

    。NET经典技术

    打开新的窗口并传送参数:  传送参数:  Button1.Attributes.Add("onclick","return confirm('确认?')"); button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}...

    ASP.NET常用代码

    1. 打开新的窗口并传送参数: 传送参数: response.write("&lt;script&gt;window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')&lt;/script&gt;") 接收参数: string a = Request.QueryString("id"); ...

    ExportButton.zip

    这里主要是用于前端不通过open.window新开窗口下载文件 而且通过ajax直接发送请求在当前页面下载文件 可以使用post/get 适用于react/vue

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: &lt;title&gt;XML轻松学习手册 &lt;author&gt;ajie &lt;Email&gt;ajie@aolhoo.com&lt;/email&gt; &lt;date&gt;20010115 &lt;/myfile&gt; ...

    LINUX 24学时教程

    本书详细讲解了用Linux的图形配置工具配置Caldera OpenLinux,通过一个ppp与网络连接、使用K桌面环境、用StarOffice提高在家办公的效率、网络浏览、发传真、接收email及使用GIMP等图形工具。 24学时每次1小时的课程...

    asp连接数据库代码实例

    转到:&lt;select name=\"select\" onChange=\'javascript:window.open(this.options[this.selectedIndex].value,\"_top\")\'&gt; &lt;%for p=1 to rs.pagecount%&gt; &lt;option value=\"?page=&lt;%=p%&gt;\" ...

    API之网络函数---整理网络函数及功能

    PostMessage 将一条消息投递到指定窗口的消息队列 PostThreadMessage 将一条消息投递给应用程序 RegisterWindowMessage 获取分配给一个字串标识符的消息编号 ReplyMessage 答复一个消息 SendMessage 调用一个...

    WinAPI (Delphi版)

    &lt;a href="../upload/20048171662237889.gif" target=_blank&gt;&lt;IMG SRC="../upload/20048171662237889.gif" border=0 alt='按此在新窗口浏览图片' onload="javascript:this.width=picsize(this,400);"&gt;&lt;/a&gt;

Global site tag (gtag.js) - Google Analytics