Я думаю, что проблема в том, что документ во всплывающих окнах не завершил загрузку, когда вы пытаетесь получить доступ к его части. На моей машине ни один из div-ов не может быть доступен с помощью предоставленного кода.
Если содержимое, которое вы хотите вставить, является фиксированным, просто внесите все эти изменения на самой всплывающей странице, чтобы вы могли сделать это только после полной загрузки документа. Если вам нужно отправить динамическое содержимое, самый простой подход - использовать строки запроса.
UPDATE:
Существует способ запустить функцию манипулирования DOM, только когда всплывающее окно завершает загрузку. Во-первых, вам нужна функция обратного вызова в главном окне, и поместите туда весь код манипуляции DOM:
window.callback = function(doc) {
doc.getElementById('the-field').value = "Hello there";
doc.getElementById('div-content').innerHTML = "Hello world";
}
Затем просто свяжите вызов функции с событием onload тела во всплывающем окне:
<script type="text/javascript">
function loaded() {
window.opener.callback(document);
}
</script>
<body onload="loaded();"><!-- body content --></body>