Я добавляю переключатель в окно открывателя с помощью appendChild. Но в MS Edge это не работает - PullRequest
1 голос
/ 17 мая 2019

Я добавляю Радио кнопку с функцией appendChild в окно открывания.Это отлично работает в Firefox и Chrome, но не в Microsoft Edge.

С первой HTML-страницы я вызываю с помощью формы Action новое окно с метками.Внутри этого окна я поместил Javascript, который вставляет с appendChild новую кнопку-переключатель в первом окне открывания.Код отлично работает в Firefox и Chrom.В MS Edge возникает ошибка с командой appendChild.

Часть 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 во втором окне:

<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 возвращает сообщение об ошибке «SCRIPT 65535: неверный аргумент»

Мэнни, спасибо за вашу помощь.

1 Ответ

0 голосов
/ 18 мая 2019

Я нашел решение.Новый элемент Radio необходимо создать в открывшемся окне:

var newRadioButton = window.opener.document.createElement("input");
...