我有一个弹出窗口,其中包含一个由模板包装的文本编辑器。我需要插入到该文本框中的信息位于编辑器窗口中,当按下编辑器上的按钮时,我需要将文本字段附加到父窗口,而不是包装器。如果我使用 window.parent,文本框会附加到包装器,而不是外面的窗口。我尝试了window.parent.parent或window.parent.window.parent,但没有工作。我怎样才能做到这一点?
编辑:我没有发布代码,因为它不相关,问题只是如何附加两个父窗口的东西......但这是代码
简讯
$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; ?>
window.parent
适用于iframe。如果您的"弹出窗口"是iframe,那应该可以工作(假设您没有遇到CORS问题)。如果您的"弹出窗口"是一个新窗口,则需要window.opener
.如果它只是另一个带有一些 CSS 的div 来覆盖窗口的其余部分,您将需要普通的 DOM 遍历方法。