将form的target设置成和open的name参数一样的值,通过浏览器自动识别实现了将内容post到新窗口中。
function openPostWindow(url, data, name){ var tempForm = document.createElement("form"); tempForm.id="tempForm1"; tempForm.method="post"; tempForm.action=url; tempForm.target=name; $.each(data,function(name,value) { var hideInput = document.createElement("input"); hideInput.type="hidden"; hideInput.name= name; hideInput.value= value; tempForm.appendChild(hideInput); }); if(document.all){ tempForm.attachEvent("onsubmit",function(){ openWindow(name); }); //IE }else{ var subObj = tempForm.addEventListener("submit",function(){ openWindow(name); },false); //firefox } document.body.appendChild(tempForm); if(document.all){ tempForm.fireEvent("onsubmit"); }else{ tempForm.dispatchEvent(new Event("submit")); } tempForm.submit(); document.body.removeChild(tempForm); } function openWindow(name){ window.open('about:blank',name,"height=600,width=800,top=20,left=20"); }
相关推荐
本文主要向大家介绍了如何使用window.open()实现post传递参数的方法,思路是参考的一位网友的,然后根据自己的项目需求做了些调整,这里同样分享给大家,希望对大家能够有所帮助。
代码如下: //打开新页面并利用post方式传递参数 function openNewPageWithPostData(postAddress,opentype,paramNames,paramValues) { var newWindow = window.open(postAddress,opentype); if (!newWindow) { return...
window.postMessage的功能是允许程序员跨域在两个窗口/frames间发送数据信息。基本上,它就像是跨域的AJAX,但不是浏览器跟服务器之间交互,而是在两个客户端之间通信。让我们来看一下window.postMessage是如何工作...
于是就想到用post的方式传递,问题在于open方法不能设置请求方式,一般网页的post都是通过form来实现的。如果仅仅模拟form的提交方式,那么open方法里那种可设置窗体属性的参数又不能用。最后想办法
因为一开始是 GET 请求,所以当传递的数据过大的时候,会报错 nginx 414 request-uri too long 客户端请求头缓冲区大小,如果请求头总长度大于小于128k,则使用此缓冲区 client_header_buffer_size 128k; 请求头...
window.postMessage的功能是允许程序员跨域在两个窗口/frames间发送数据信息。基本上,它就像是跨域的AJAX,但不是浏览器跟服务器之间交互,而是在两个客户端之间通信。让我们来看一下window.postMessage是如何工作...
这两窗口之间存在着关系....就是利用window.open打开的窗口.不能跨域. Post.htm <input type=text name=maintext> <input type=button onclick=”window.open(‘Read.htm’)” value=”Open”>
postMessage方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。 语法: otherWindow.postMessage(message, targetOrigin, [transfer]); otherWindow:其他窗口的引用...
但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求: 1,js中实现post提交 2,返回的页面在新窗口显示 首先我是这么做的: 代码如下: $.ajax({ ...
网页传递参数 location.search(); 可编辑 obj.contenteditable=true 执行菜单命令 obj.execCommand 双字节字符 /[^x00-xff]/ 汉字 /[u4e00-u9fa5]/ 让英文字符串超出表格宽度自动换行 word-wrap: ...
表格超连接列传递参数 号" DataTextField="id" NavigateUrl="aaa.aspx?id=’ < %# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<% # DataBinder.Eval(Container.DataItem, "数据字段2")%>’ /...
e.Item.Attributes.Add("onclick","window.open('Default.aspx?id=" + e.Item.Cells[0].Text + "');"); } 双击表格连接到另一页 在itemDataBind事件中 if(e.Item.ItemType == ListItemType.Item || e....
6.表格超连接列传递参数 号" DataTextField="id" NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>' & name='<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>' /> 7....
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的...
open command like window (Ctrl+Space) 执行带参数的命令并预览结果 打开新标签并传递 GET 或 POST 参数(维基百科搜索、字典查找、翻译文本) 通过ajax获取数据,处理它并在扩展弹出预览中显示(例如:IMDB电影...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件...