我使用 appendChild 向开启器 Window 添加了一个单选按钮。但在 MS Edge 中它不起作用
I add an radio button to the opener Window with appendChild. But in MS Edge it doesnt work
我将一个带有函数 appendChild 的单选按钮添加到开启器 window。这在 Firefox 和 Chrome 中运行良好,但在 Microsoft Edge 中运行不正常。
从第一个 HTML 页面开始,我使用表单 Action 调用新目标 window。在这个 window 中,我放置了一个 Javascript,它使用 appendChild 在第一个开启器 Window 上插入了一个新的单选按钮。该代码在 Firefox 和 Chrom 中运行良好。在 MS Edge 中,appendChild 命令出错。
第一个 Window
HTML 代码的一部分
//Position of Radio button
</td><td id="logos">
<input type="radio" name="logo_radio" value="test5.jpg" checked>test5.jpg<br>
<input type="radio" name="logo_radio" value="malvorlagenfeuerwehr04.jpg">malvorlagenfeuerwehr04.jpg<br>
</td></tr>
//Calling now window with a button:
<input name="logo_test" type="button" onclick="document.formLogo.submit();" Value="Neues Logo laden">
<form name="formLogo" enctype="multipart/form-data" action="add_logo.php" method="post" accept-charset="ISO-8859-1" target="_blank">
<input type="hidden" name="id" value="{$_POST['id']}">
<input type="hidden" name="eintrag" value="$eintrag">
</form>
Javascript 第二个函数 Window:
<script type="text/javascript">
try {
var newRadioButton = document.createElement("input");
newRadioButton.setAttribute('type','radio');
newRadioButton.setAttribute('name','logo_radio');
newRadioButton.setAttribute('value','$file_new');
var obj1 = window.opener.document.getElementById("logos");
obj1.appendChild(newRadioButton);
}catch(err) {alert(err.message);}
</script>
IE returns 一条错误信息 "SCRIPT 65535: invalid argument"
Manny 感谢您的帮助。
我找到了解决方案。新的 Radio 元素必须创建到 opener window:
var newRadioButton = window.opener.document.createElement("input");
我将一个带有函数 appendChild 的单选按钮添加到开启器 window。这在 Firefox 和 Chrome 中运行良好,但在 Microsoft Edge 中运行不正常。
从第一个 HTML 页面开始,我使用表单 Action 调用新目标 window。在这个 window 中,我放置了一个 Javascript,它使用 appendChild 在第一个开启器 Window 上插入了一个新的单选按钮。该代码在 Firefox 和 Chrom 中运行良好。在 MS Edge 中,appendChild 命令出错。
第一个 Window
HTML 代码的一部分//Position of Radio button
</td><td id="logos">
<input type="radio" name="logo_radio" value="test5.jpg" checked>test5.jpg<br>
<input type="radio" name="logo_radio" value="malvorlagenfeuerwehr04.jpg">malvorlagenfeuerwehr04.jpg<br>
</td></tr>
//Calling now window with a button:
<input name="logo_test" type="button" onclick="document.formLogo.submit();" Value="Neues Logo laden">
<form name="formLogo" enctype="multipart/form-data" action="add_logo.php" method="post" accept-charset="ISO-8859-1" target="_blank">
<input type="hidden" name="id" value="{$_POST['id']}">
<input type="hidden" name="eintrag" value="$eintrag">
</form>
Javascript 第二个函数 Window:
<script type="text/javascript">
try {
var newRadioButton = document.createElement("input");
newRadioButton.setAttribute('type','radio');
newRadioButton.setAttribute('name','logo_radio');
newRadioButton.setAttribute('value','$file_new');
var obj1 = window.opener.document.getElementById("logos");
obj1.appendChild(newRadioButton);
}catch(err) {alert(err.message);}
</script>
IE returns 一条错误信息 "SCRIPT 65535: invalid argument"
Manny 感谢您的帮助。
我找到了解决方案。新的 Radio 元素必须创建到 opener window:
var newRadioButton = window.opener.document.createElement("input");