我有一个在链接点击时打开的弹出窗口(我必须使用它)。我让用户浏览一系列选择属性的页面,然后将其发送到购物车。
我的问题:在用户完成选择过程后,我想终止打开的弹出窗口并将请求发送回原始浏览器(父级),以便用户可以结帐。
知道我会怎么做吗?
我有一个在链接点击时打开的弹出窗口(我必须使用它)。我让用户浏览一系列选择属性的页面,然后将其发送到购物车。
我的问题:在用户完成选择过程后,我想终止打开的弹出窗口并将请求发送回原始浏览器(父级),以便用户可以结帐。
知道我会怎么做吗?
Javascript:在子(弹出)窗口中。
window.opener.location = 'page.html";
window.close();
那是你要找的吗?
可以使用 JavaScript 中的“opener”访问父窗口。例子:
window.opener.title='hello parent window';
或者
window.opener.location.href='http://redirect.address';
我的孩子形式的脚本:
<script language="JavaScript" type="text/javascript">
function SetData() {
// form validation
// var frmvalidator = new Validator("myForm");
// frmvalidator.addValidation("name","req","Please enter Account Name");
// get the new dialog values
var str1 = document.getElementById("name").value;
var winArgs = str1;
// pass the values back as arguments
window.returnValue = winArgs;
window.close();
document.myForm.submit();
}
</script>
我的父表单中的脚本:
<% @account_head= current_company.account_heads.find_by_name("Sundry Debtors")%>
<script type="text/javascript">
function OpenDialog() {
var winSettings = 'center:yes;resizable:no;help:yes;status:no;dialogWidth:450px;dialogHeight:200px';
// return the dialog control values after passing them as a parameter
winArgs = window.showModalDialog('<%= "/accounts/new?account_head_id=#{@account_head.id} #man" %>', winSettings);
if(winArgs == null) {
window.alert("no data returned!");
} else {
// set the values from what's returned
document.getElementById("to_account_auto_complete").value = winArgs;
}
}
</script>
这是工作,但不是我想要的,如果找到好的解决方案,请提出任何建议。