Modification de contenu popup
Je suis de l'ouverture d'un popup à l'aide de popup = window.open(....)
et puis essayez d'insérer du code html dans une balise div dans la fenêtre contextuelle.
popup.document.getElementById('div-content').innerHTML = "hello world";
ne fait rien, cependant, popup.document.getElementById('the-field').value = "Hello There";
des modifications dans le contenu d'un champ avec un id="le-champ".
Aucune idée pourquoi on travaille, mais pas l'autre? Comment puis-je remplacer le contenu de la div?
espère que vous pouvez aider.
EDIT:
le popup
<!DOCTYPE html>
<html>
<head>
<title>Report</title>
<meta charset="utf-8">
</head>
<body>
<header>
</header>
<div id="div-content"></div>
<div id="report-container">
<input type="text" id="the-field" name="the_field"/>
</div>
<footer>
</footer>
</body>
</html>
le code
function reportComplete(report_content)
{
var popup;
var template_path;
template_path = base_url + "application/views/secure/reports_preview.php";
popup = window.open(template_path, "Report", "scrollbars=yes ,resizable=yes");
popup.document.getElementById('the-field').value = "Hello There"; //this works
popup.document.getElementById('div-content').innerHTML = "hello world";
}
Pourriez-vous poster le code dans la page d'hôte et le popup?
J'ai édité le sujet et ajouté le code. merci
J'ai édité le sujet et ajouté le code. merci
OriginalL'auteur djeetee | 2011-09-13
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème ici est que le document dans le menu contextuel de windows n'a pas fini de se charger lorsque vous essayez d'accéder à une partie. Sur ma machine, ni de les divs sont accessibles avec le code fourni.
Si le contenu que vous souhaitez insérer est fixe, alors il suffit de faire toutes ces modifications sur le popup page elle-même, de sorte que vous pouvez le faire se produire uniquement lorsque le document est complètement chargé. Si vous avez besoin d'envoyer du contenu dynamique, l'approche la plus facile peut-être à l'aide de chaînes de requête.
Mise à JOUR:
Il y a un moyen de tirer jusqu'à la manipulation DOM fonction uniquement lorsque le pop-up issue du chargement. Tout d'abord, vous avez besoin d'une fonction de rappel sur la fenêtre principale, et de mettre toutes les manipulations du DOM code:
Ensuite, il suffit de lier un appel de fonction pour le corps d'événement onload sur la fenêtre pop-up:
popup.document.getElementById('the-field').value = "Hello There";
puis DEUX appels à réussir. la div et le champ sont mis à jour. La question est maintenant de savoir comment puis-je savoir quand le pop-up est prêt à être manipulé?J'ai mis à jour la réponse. Espérons que cela aide.
nice! merci de poster le code. très apprécié.
OriginalL'auteur nfang
...ou tout simplement:
OriginalL'auteur rubens