楼上的好像不对吧???opener属性在这里用不成吧???看看这个:
<HTML>
<HEAD>
<TITLE>window.showModelessDialog() Method</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var currPrefs = new Array()
var prefsDlog
function getPrefsData()
{
if (!prefsDlog || prefsDlog.closed)
{
prefsDlog = showModelessDialog("showModalessDialog2.htm",
setPrefs, "dialogWidth:400px; dialogHeight:300px")
prefsDlog.init(currPrefs)
}
}function setPrefs(prefs)
{
if (prefs["bgColor"])
{
document.body.style.backgroundColor = prefs["bgColor"]
currPrefs["bgColor"] = prefs["bgColor"]
} if (prefs["textColor"])
{
document.body.style.color = prefs["textColor"]
currPrefs["textColor"] = prefs["textColor"]
} if (prefs["h1Size"])
{
document.all.welcomeHeader.style.fontSize = prefs["h1Size"]
currPrefs["h1Size"] = prefs["h1Size"]
} if (prefs["name"])
{
document.all.firstName.innerText = prefs["name"]
currPrefs["name"] = prefs["name"]
}
}function init()
{
document.all.firstName.innerText = "friend"
}
//-->
</SCRIPT></HEAD>
<BODY BGCOLOR="#eeeeee" STYLE="margin:20px" onLoad="init()">
<H1>window.showModelessDialog() Method</H1>
<HR>
<H2 ID="welcomeHeader">Welcome, <SPAN ID="firstName"> </SPAN>!</H2>
<HR>
<P>Use this button to set style preferences for this page:
<BUTTON ID="prefsButton" onClick="getPrefsData()">
Preferences
</BUTTON>
</BODY>
</HTML>
showModalessDialog2.htm:<HTML>
<HEAD>
<TITLE>User Preferences</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--function closeme()
{
window.close()
}
function handleOK()
{
var returnFunc = window.dialogArguments //与showModalDialog2.htm最大的区别:这句话只是得到一个引用,不像showModalDialog2.htm一样得到的是真正的值.利用这个引用可以实时的与主页面进行交互.
returnFunc(getFormData()) //得到getFormData()的返回值,实时改变主页面
closeme()
}
function handleApply()
{
var returnFunc = window.dialogArguments
returnFunc(getFormData())
}
function handleCancel()
{
window.returnValue = ""
closeme()
}
function getFormData()
{
var form = document.prefs
var returnedData = new Array() for (var i = 0; i < form.elements.length; i++)
{
if (form.elements[i].type == "text")
{
returnedData[form.elements[i].name] = form.elements[i].value
}
else if (form.elements[i].type.indexOf("select") != -1)
{
returnedData[form.elements[i].name] = form.elements[i].options[form.elements[i].selectedIndex].value
}
else if (form.elements[i].type == "radio")
{
returnedData[form.elements[i].name] = form.elements[i].value
}
else if (form.elements[i].type == "checkbox")
{
returnedData[form.elements[i].name] = form.elements[i].value
} else continue
} return returnedData
}
function init(currPrefs)
{
if (currPrefs)
{
var form = document.prefs
if (currPrefs["name"])
{
form.name.value = currPrefs["name"]
} if (currPrefs["bgColor"])
{
setSelected(form.bgColor, currPrefs["bgColor"])
} if (currPrefs["textColor"])
{
setSelected(form.textColor, currPrefs["textColor"])
} if (currPrefs["h1Size"])
{
setSelected(form.h1Size, currPrefs["h1Size"])
}
}
}function setSelected(select, value)
{
for (var i = 0; i < select.options.length; i++)
{
if (select.options[i].value == value)
{
select.selectedIndex = i
break
}
}
return
}function checkEnter()
{
if (window.event.keyCode == 13) //按回车键的作用
{
handleOK()
}
}
//-->
</SCRIPT>
</HEAD><BODY BGCOLOR="#eeeeee" onLoad="init()">
<H2>Web Site Preferences</H2>
<HR>
<TABLE BORDER=0 CELLSPACING=2>
<FORM NAME="prefs" onSubmit="return false">
<TR>
<TD>Enter your first name:<INPUT NAME="name" TYPE="text" VALUE="" SIZE=20 onKeyDown="checkEnter()">
</TR><TR>
<TD>Select a background color:
<SELECT NAME="bgColor">
<OPTION VALUE="beige">Beige
<OPTION VALUE="antiquewhite">Antique White
<OPTION VALUE="goldenrod">Goldenrod
<OPTION VALUE="lime">Lime
<OPTION VALUE="powderblue">Powder Blue
<OPTION VALUE="slategray">Slate Gray
</SELECT>
</TR><TR>
<TD>Select a text color:
<SELECT NAME="textColor">
<OPTION VALUE="black">Black
<OPTION VALUE="white">White
<OPTION VALUE="navy">Navy Blue
<OPTION VALUE="darkorange">Dark Orange
<OPTION VALUE="seagreen">Sea Green
<OPTION VALUE="teal">Teal
</SELECT>
</TR><TR>
<TD>Select "Welcome" heading font point size:
<SELECT NAME="h1Size">
<OPTION VALUE="12">12
<OPTION VALUE="14">14
<OPTION VALUE="18">18
<OPTION VALUE="24">24
<OPTION VALUE="32">32
<OPTION VALUE="48">48
</SELECT>
</TR>
</TABLE>
</FORM>
<DIV STYLE="position:absolute; left:120px; top:220px">
<BUTTON STYLE="width:80px" onClick="handleOK()">OK</BUTTON>
<BUTTON STYLE="width:80px" onClick="handleCancel()">Cancel</BUTTON>
<BUTTON STYLE="width:80px" onClick="handleApply()">Apply</BUTTON>
</DIV>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>window.showModelessDialog() Method</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var currPrefs = new Array()
var prefsDlog
function getPrefsData()
{
if (!prefsDlog || prefsDlog.closed)
{
prefsDlog = showModelessDialog("showModalessDialog2.htm",
setPrefs, "dialogWidth:400px; dialogHeight:300px")
prefsDlog.init(currPrefs)
}
}function setPrefs(prefs)
{
if (prefs["bgColor"])
{
document.body.style.backgroundColor = prefs["bgColor"]
currPrefs["bgColor"] = prefs["bgColor"]
} if (prefs["textColor"])
{
document.body.style.color = prefs["textColor"]
currPrefs["textColor"] = prefs["textColor"]
} if (prefs["h1Size"])
{
document.all.welcomeHeader.style.fontSize = prefs["h1Size"]
currPrefs["h1Size"] = prefs["h1Size"]
} if (prefs["name"])
{
document.all.firstName.innerText = prefs["name"]
currPrefs["name"] = prefs["name"]
}
}function init()
{
document.all.firstName.innerText = "friend"
}
//-->
</SCRIPT></HEAD>
<BODY BGCOLOR="#eeeeee" STYLE="margin:20px" onLoad="init()">
<H1>window.showModelessDialog() Method</H1>
<HR>
<H2 ID="welcomeHeader">Welcome, <SPAN ID="firstName"> </SPAN>!</H2>
<HR>
<P>Use this button to set style preferences for this page:
<BUTTON ID="prefsButton" onClick="getPrefsData()">
Preferences
</BUTTON>
</BODY>
</HTML>
showModalessDialog2.htm:<HTML>
<HEAD>
<TITLE>User Preferences</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--function closeme()
{
window.close()
}
function handleOK()
{
var returnFunc = window.dialogArguments //与showModalDialog2.htm最大的区别:这句话只是得到一个引用,不像showModalDialog2.htm一样得到的是真正的值.利用这个引用可以实时的与主页面进行交互.
returnFunc(getFormData()) //得到getFormData()的返回值,实时改变主页面
closeme()
}
function handleApply()
{
var returnFunc = window.dialogArguments
returnFunc(getFormData())
}
function handleCancel()
{
window.returnValue = ""
closeme()
}
function getFormData()
{
var form = document.prefs
var returnedData = new Array() for (var i = 0; i < form.elements.length; i++)
{
if (form.elements[i].type == "text")
{
returnedData[form.elements[i].name] = form.elements[i].value
}
else if (form.elements[i].type.indexOf("select") != -1)
{
returnedData[form.elements[i].name] = form.elements[i].options[form.elements[i].selectedIndex].value
}
else if (form.elements[i].type == "radio")
{
returnedData[form.elements[i].name] = form.elements[i].value
}
else if (form.elements[i].type == "checkbox")
{
returnedData[form.elements[i].name] = form.elements[i].value
} else continue
} return returnedData
}
function init(currPrefs)
{
if (currPrefs)
{
var form = document.prefs
if (currPrefs["name"])
{
form.name.value = currPrefs["name"]
} if (currPrefs["bgColor"])
{
setSelected(form.bgColor, currPrefs["bgColor"])
} if (currPrefs["textColor"])
{
setSelected(form.textColor, currPrefs["textColor"])
} if (currPrefs["h1Size"])
{
setSelected(form.h1Size, currPrefs["h1Size"])
}
}
}function setSelected(select, value)
{
for (var i = 0; i < select.options.length; i++)
{
if (select.options[i].value == value)
{
select.selectedIndex = i
break
}
}
return
}function checkEnter()
{
if (window.event.keyCode == 13) //按回车键的作用
{
handleOK()
}
}
//-->
</SCRIPT>
</HEAD><BODY BGCOLOR="#eeeeee" onLoad="init()">
<H2>Web Site Preferences</H2>
<HR>
<TABLE BORDER=0 CELLSPACING=2>
<FORM NAME="prefs" onSubmit="return false">
<TR>
<TD>Enter your first name:<INPUT NAME="name" TYPE="text" VALUE="" SIZE=20 onKeyDown="checkEnter()">
</TR><TR>
<TD>Select a background color:
<SELECT NAME="bgColor">
<OPTION VALUE="beige">Beige
<OPTION VALUE="antiquewhite">Antique White
<OPTION VALUE="goldenrod">Goldenrod
<OPTION VALUE="lime">Lime
<OPTION VALUE="powderblue">Powder Blue
<OPTION VALUE="slategray">Slate Gray
</SELECT>
</TR><TR>
<TD>Select a text color:
<SELECT NAME="textColor">
<OPTION VALUE="black">Black
<OPTION VALUE="white">White
<OPTION VALUE="navy">Navy Blue
<OPTION VALUE="darkorange">Dark Orange
<OPTION VALUE="seagreen">Sea Green
<OPTION VALUE="teal">Teal
</SELECT>
</TR><TR>
<TD>Select "Welcome" heading font point size:
<SELECT NAME="h1Size">
<OPTION VALUE="12">12
<OPTION VALUE="14">14
<OPTION VALUE="18">18
<OPTION VALUE="24">24
<OPTION VALUE="32">32
<OPTION VALUE="48">48
</SELECT>
</TR>
</TABLE>
</FORM>
<DIV STYLE="position:absolute; left:120px; top:220px">
<BUTTON STYLE="width:80px" onClick="handleOK()">OK</BUTTON>
<BUTTON STYLE="width:80px" onClick="handleCancel()">Cancel</BUTTON>
<BUTTON STYLE="width:80px" onClick="handleApply()">Apply</BUTTON>
</DIV>
</BODY>
</HTML>
解决方案 »
- Jquery.Pagination页数刷新问题
- Extjs中Combobox两级联动,第二个combobox加载数据的问题
- 请教一个关于jsp中javascript问题
- 控制字符串在容器中的长度问题,求解释!
- jquery 是否兼容 ipad safari浏览器
- jquery ui accordion插件fillSpace问题
- js文件中怎么调用asp的变量呀?
- 为什么window.history[0]取不到上一个访问的url?
- alert((100.2556866243413).toFixed(5));错误
- 紧急援助,在线等待
- 能否把结构付值给cookie
- 怎样将window.showModelessDialog弹出的窗口总在最前面。
我的要求很简单,showModelessDialog是用来提交用户名和密码的FORM,用户提交之后,不弹出新的窗口就可以了。
(1)打开showModalessDialog2.htm
(2)传递setPrefs函数的镜像给showModalessDialog2.htm
(3)prefsDlog变量接收showModalessDialog2.htm返回的参数.2.window.returnValue返回值你是一下我给你的例子就明白了