2009-09-01 8 views
1

Ceci est lié à la question "Bookmarklet behind elements". Je veux soit fermer moi-même l'iframe après la soumission du formulaire ou si ce n'est pas possible, ajouter un bouton de fermeture avec l'iframe pour le fermer. mon bookmarklet au moment estFermer un bookmarklet après la soumission du formulaire

javascript:(function(){var iFrame=document.createElement('IFRAME');iFrame.src='http://www.yeongbing.com/testform/dd-formmailer/dd-formmailer.php';iFrame.style.cssText='display:block;position:absolute;top:5%;left:60%;width:40%;height:51%;overflow:hidden;';document.body.insertBefore(iFrame,document.body.firstChild);})(); 

J'ai essayé les méthodes mentionnées here mais ne peut pas sembler fonctionner. Aucune suggestion?

+0

est la forme dans le iframe? – geowa4

Répondre

1

Voici comment vous pouvez fermer l'iframe depuis votre bouton "Fermer la fenêtre".

D'abord, donnez un identifiant à votre iframe en ajoutant "iFrame.id = 'foo';" à la fin de votre script bookmarklet:

javascript:(function(){var iFrame=document.createElement('IFRAME');iFrame.src='test2.html';iFrame.style.cssText='display:block;position:absolute;top:5%;left:60%;width:40%;height:51%;overflow:hidden;';document.body.insertBefore(iFrame,document.body.firstChild);iFrame.id='foo';})(); 

Ensuite, dans votre source de iframe, changer

<input type="button" onclick=window.close() value="Close Window"/> 

à

<input type="button" onclick="parent.document.body.removeChild(parent.document.getElementById('foo'));" value="Close Window"/> 
+0

Merci pour votre contribution. Mais le bouton ne fonctionne ni sur la page elle-même ni sur l'iframe. Savez-vous pourquoi onclick = window.close() par lui-même ne fonctionne pas? Je pensais qu'il devrait fermer la fenêtre, peu importe ce qui est dans la page Web. – qwertyuu

+0

J'ai testé ma solution et cela fonctionne. Le bouton se trouve dans la page iframe elle-même, comme vous l'avez déjà fait sur http://www.yeongbing.com/testform/dd-formmailer/dd-formmailer.php. – Emmett

+0

très étrange. Je l'ai essayé dans Safari et Firefox et ça ne marche pas dans les deux cas. Je vais vérifier pour voir si je l'ai copié à tort. Merci – qwertyuu

Questions connexes