popuptest.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
<form action="#" id="formid" >
<input type="text" id="textinput" value="empty value" />
<input type="hidden" id="hiddeninput" value="empty value" />
<button type="button" onclick="window.open('popup.xhtml', 'Select Reference','status,width=400,height=400');" >Open PopUp</button>
</form>
</body>
</html>
popup.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
<button onclick="
opener.document.getElementById('textinput').value = 'text value from child pop up !';
opener.document.getElementById('hiddeninput').value = 'hidden value from child pop up !';
window.close();
">Put values to parent</button>
</body>
</html>
打开 popuptext.xhtml -> 按打开弹出按钮 -> 按将值放入父级 我在父窗口中观察到的内容:
似乎值已传递给父文本输入
但另一方面,我在 Chrome 调试 (F12) 中看到的内容:
我的天啊!文本输入为空!并且值被传递给隐藏的输入(如预期的那样)
Chrome 版本:29.0.1547.76 m 在 Firefox 24.0 上相同 对
这种行为有任何解释吗?它是一个错误吗?
我需要将值传递给文本输入,然后提交表单,但在这种情况下,表单不包含我的值。