如何使用javascript或Jquery访问父级窗口两级?

时间:2016-01-26 13:13:20

标签: javascript jquery dom

我有一个弹出文件,其中包含一个由模板包装的文本编辑器。我需要插入到该文本框中的信息位于编辑器窗口中,当在编辑器上按下按钮时,我需要将文本字段附加到父窗口,而不是附加到包装器。如果我使用 window.parent ,文本框会附加到包装器,而不是外部窗口。我尝试了 window.parent.parent window.parent.window.parent ,但没有用。我怎么能做到这一点?

编辑:我没有发布代码,因为它不相关,问题是如何将两个父窗口添加到某个东西......但这里是代码

JQUERY

$textInput=$('<textarea></textarea>');
            $textInput.text(bodyHtml);
            parentWindow.$('form').append($textInput);

弹出窗口的HTML

<div class="right_content">
<form method="post">
<textarea id="plantillaEditor">

<?php echo $html_plantilla; ?>

</textarea>
</form>
</div>

父窗口的HTML(相关部分)

<div class="right_content">
    <div class="form_abm">
      <?php if ($estado != OohListasEstado::PENDIENTE): ?>
        <form class="form-horizontal" action="<?php echo url_for('/consultasactuacionpreju/' .
        (!$form->getObject()->isNew() ? 'editar/id/' . $sf_request->getParameter('id') . '/consid/' . $form->getObject()->getIdConsulta() : 'crear/consid/' . $sf_request->getParameter('consid'))) ?>"
              method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
        <?php else: ?>
            <form class="form-horizontal" action="<?php echo url_for('consultasactuacionpreju/aceptarPase?consid='.$sf_request->getParameter('consid')); ?>"
                  method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
        <?php endif; ?>

1 个答案:

答案 0 :(得分:1)

window.parent适用于iframe。如果您的&#34;弹出&#34;是一个iframe,应该工作(假设你没有遇到CORS问题。)如果你的&#34; popup&#34;是一个新窗口,您需要window.opener。如果它只是另一个带有一些CSS的div来使它覆盖窗口的其余部分,那么你将需要正常的DOM遍历方法。