父窗口:
<script type="text/javascript">
function f1(){
window.showModalDialog("h2.html",window,'dialogHeight:400px;dialogWidth:750px;status=off;scroll=yes;resizeable=yes;');
}
function f2(){
alert('parent window');
}
</script>
<input type="button" onclick='f1()'>
h2.html
<body>
<table><tr><td>
<input type="button" onclick='javascript:window.dialogArguments.f2()'>
</td></tr></table>
</body>
使用了showModalDialog,就不能使用parent以及top等的一些参数作为回调的途径,需要回调关键在于要在子页面上回调时使用
window.dialogArguments
测试过,直接使用this.returnValue返回一个父窗口接受的值只对字符串生效,而是用到数组或是对象时不成功,因此才改用回调函数实现。
网上找到一些资料是可以返回对象的,只可惜偶失败了。有待考究。
分享到:
相关推荐
在JavaScript中,`showModalDialog`是一个非常有用的函数,它允许我们打开一个新的浏览器窗口或对话框,并与父窗口进行交互。这个功能在开发过程中经常用于创建弹出式表单、确认对话框或者需要用户输入信息的场景。...
JSONP依赖于动态插入`<script>`标签,通过回调函数接收服务器返回的JSON数据。由于`<script>`标签不受同源策略限制,所以可以跨域加载。但这种方法不适用于`showModalDialog`,因为它期望的是整个HTML页面,而非单一...
而 `window.open` 没有直接提供这样的机制,通常需要通过回调函数等方式实现。 #### 八、应用场景建议 - 如果目标浏览器主要是 Internet Explorer,并且需要模态对话框的功能,可以选择使用 `ShowModalDialog`。 -...
当对话框关闭时,`dialogReturnValueCallback`回调函数会被调用,传入的就是`window.returnValue`的值。 以下是一个简单的示例: 1. 创建一个HTML页面(如`MossDialogDemo.html`),作为模态对话框的内容页: ```...
在这种情况下,可能需要使用其他方法,如回调函数或使用`postMessage` API来实现父子窗口之间的安全通信。 总的来说,`showModalDialog`和`showModelessDialog`是JavaScript中用于创建弹出式对话框的两种方式,它们...
$.getJSON是JQuery中处理JSON数据常用的一个方法,它用于从服务器获取JSON格式数据,并且可以指定当成功接收到数据时执行的回调函数来处理这些数据。 首先,了解JQuery库是学习$.getJSON方法的前提。JQuery是一个...
这个函数将根据浏览器类型选择合适的方式来打开对话框,并在完成后执行相应的回调或处理程序。 总之,针对谷歌浏览器不兼容`showModalDialog()`的问题,开发人员可以采用上述方法,通过条件判断和`window.open()`的...
- **`window.setTimeout()`**:设置一个定时器,指定的时间后执行回调函数。定时器只能执行一次。 ```javascript window.setTimeout(function() { alert('Hello'); }, 2000); // 2秒后弹出提示框 ``` - **`...
13.5 回调与用户自定义事件 13.5.1 事件处理模式--一个实现简单事件处理模式的例子 13.5.2 用户事件接口的定义 13.5.3 事件代理和事件注册--一个实现标准事件接口的例子 13.5.4 标准模式--事件...
- `setInterval(callback, interval)`:每隔一段时间重复执行回调函数。 - `clearTimeout(timeoutID)` 和 `clearInterval(intervalID)`:分别用于清除 `setTimeout` 和 `setInterval` 设置的定时器。 #### 六、...
而在`showModelessDialog()`中,可以通过回调函数接收返回值。 这些例子展示了JSP和JavaScript如何协同工作来构建动态交互的Web界面。在实际开发中,还需要注意数据验证、错误处理、安全性等方面的问题,以确保应用...
3. 事件处理:监听用户行为,如点击按钮触发弹窗,关闭弹窗时执行回调函数。 4. 异步通信(Ajax):如果涉及到后台交互,可能使用Ajax来发送请求和接收数据,更新弹出窗口的内容。 5. 动画效果:可能包含过渡动画,...
`returnValue` 是一个用于传递对话框结果回调到打开它的页面的属性,这对于需要在对话框关闭后处理数据或执行某些操作的场景至关重要。 为了解决这个问题,开发者需要寻找替代方案。一种常见的解决方案是使用 `...
1. 在父窗口中定义一个函数来打开子窗口,并指定回调函数接收返回值。 2. 创建子窗口,包含用户交互元素,提供一个功能用于获取用户输入并设置`window.returnValue`。 3. 在父窗口中监听`returnValue`的变化,更新...
这些结果可以在客户端的回调函数中处理,然后可以决定是否关闭对话框,或者如何更新父窗体的状态。 在WebApplication1项目中,我们可以看到实际的应用示例,包括如何创建模态对话框、设置参数传递、以及如何在...
在JSP中,你可以使用`response.getWriter().println()`打印文本,这些数据会被前端的回调函数接收到。如果需要更复杂的交互,如翻页数据,可以返回JSON格式的数据,前端解析后进行相应的操作。 7. **更复杂的情况**...
这里的关键在于父窗口必须事先定义好接收子窗口回调的函数,并且保持这个函数名在子窗口中可被正确调用。 #### 三、使用`window.showModalDialog()`刷新父窗口 `window.showModalDialog()`方法创建一个模态对话框...
- 在`showModalDialog`的回调函数中,可以访问`window.returnValue`获取弹出窗口返回的值。 总结来说,实现ASP.NET弹出对话框返回多个值的关键在于利用JavaScript的`showModalDialog`和页面间的通信机制。通过在...
这些函数可以传入不同的参数来指定新窗口的url、宽度、高度和位置等,并可以指定一个回调函数(cb),当新窗口关闭或加载完成后,可以执行一些特定的逻辑。 需要注意的是,现代的Web开发中,打开新窗口和对话框已经...