将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"); }
相关推荐
在上述描述中,提到的问题是在SSH框架下,URL长度受限且需要隐藏某些参数,因此需要寻找一种方式来通过POST传递参数。一种常见的解决方案是创建一个动态的表单,将数据放入隐藏的输入字段,然后模拟表单提交来实现...
然而,如果我们想要以POST方式传递参数,就不能直接通过`url`参数实现。POST方式的参数通常是在HTML表单中定义,然后通过表单的提交(`submit`)事件来发送。因此,我们需要创建一个隐藏的表单,填入参数,然后在新...
1. **使用URL参数**:在`window.open`的`url`中添加查询参数来传递数据。例如: ```javascript var url = "child.html?data=" + encodeURIComponent(value); var newWindow = window.open(url, "child"); ``` 2...
于是就想到用post的方式传递,问题在于open方法不能设置请求方式,一般网页的post都是通过form来实现的。如果仅仅模拟form的提交方式,那么open方法里那种可设置窗体属性的参数又不能用。最后想办法
- 使用`window.open`时,数据交互需要通过其他方式实现,如使用`postMessage`API。 综上所述,`showModalDialog`和`window.open`各有优势和局限性,开发者应根据具体需求选择合适的方法。在现代Web开发中,由于`...
总结来说,刷新由 `window.open` 打开的父页面主要依赖于 `window.opener` 属性,结合 `location.reload()` 方法实现。在某些特定情况下,如跨域或有其他需求时,可以采用上述其他通信手段来实现类似功能。在实际...
window.postMessage的功能是允许程序员跨域在两个窗口/frames间发送数据信息。基本上,它就像是跨域的AJAX,但不是浏览器跟服务器之间交互,而是在两个客户端之间通信。让我们来看一下window.postMessage是如何工作...
在Web开发中,`window.open()` 是一个非常重要的JavaScript函数,用于在用户的浏览器中打开新的窗口或标签。这个函数在创建交互式用户体验时扮演着关键角色,允许开发者控制新窗口的大小、位置以及加载的URL。现在...
发送消息时,调用`postMessage`方法,传入两个参数:要传递的数据和接收数据的窗口的引用(通常是`window`对象的引用或`iframe`的`contentWindow`属性)。 接收窗口需要监听`message`事件来接收数据。当接收到消息...
综上所述,要在同一个标签页中使用 `window.open()` 或类似方法打开新的 URL,关键在于控制 `window.open()` 的 `name` 参数或者通过其他方式(如表单提交)来实现。当 `name` 参数与已存在的窗口或标签页匹配时,新...
`doPostBack`是ASP.NET中实现页面回发的关键工具,而在弹出窗体与父窗体间传递数据则需要利用各种JavaScript和ASP.NET的技术,包括URL参数、全局变量、Session/Cookie、`window.opener`以及HTML5的`postMessage`等...
在发送窗口(子窗口)中,使用`window.opener.postMessage(data, targetOrigin)`发送消息,其中`data`是你要传递的数据,`targetOrigin`是接收窗口的源。在接收窗口(父窗口)中,需要添加事件监听器: ```...
本篇文章将深入探讨如何使用`window.open()`方法实现这一目标。`window.open()`是JavaScript中的一个内置函数,用于打开新的浏览器窗口或者标签页,并可以指定新窗口的URL、尺寸以及窗口特性。 首先,我们来了解`...
初始化请求是通过`open()`方法实现的,它接受三个参数:请求类型(如"GET"或"POST"),URL,以及一个布尔值表示是否异步执行。 ```javascript xhr.open('GET', 'http://example.com/data', true); ``` **二、设置...
在一些交互场景下,我们需要在弹出层中操作并获取相关参数,然后在关闭弹出层时传递这些参数给父页面进行处理。本文将详细介绍如何通过 `layer.open` 的回调函数来获取弹出层参数并进行后续操作。 首先,让我们来看...
最后,关于标签“传值”,在Web开发中,数据传递通常有多种方式,如URL查询字符串、POST请求、localStorage、sessionStorage、cookies等。在EasyUI的弹窗场景中,我们主要关注的是通过查询字符串和JavaScript对象...
`window.postMessage()`方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文档的消息传递,即跨域通信。它的工作原理是:一个窗口向其打开的子窗口、其父窗口或者任何其他与之有某种关系的窗口发送...