別ウィンドウで親ウィンドウを操作する

何がやりたいのかっていうと、別ウィンドウで適当に一覧開いて選択した項目のIDを親ウィンドウのテキストフィールド内にいれるってことをしたいわけです。

main.php

<input id="target" type="text" value="" onclick="window.open('sub.php')" />

sub.php

<script type="text/javascript">
//<![CDATA[
var select = function(id)
{
  // window.openerで親ウィンドウを指定
  window.opener.document.getElementById('target').value = id;
  window.close();
}
//]]>
</script>
<ul>
  <?php foreach($objects as $o): ?>
  <li>
    <?= "{$o->id}: {$o->name}" ?>
    <input type="button" onclick="select('<?= $o->id ?>'); return false;" />
  </li>
  <?php endforeach ?>
</ul>

window.openerってのが親のウィンドウになります。そこからID指定すればいけるっていうわけですね。