Aller au contenu

soucis fonction dans iframe avec un return


djp1988

Sujets conseillés

Je commence à perdre la tête, mais je sais qu'à la fin, j'aurais appris quelque chose de tres utile, j'ai un iframe et j'essaye d'avoir le html de ce document, c'est dans le cadre d'un designMode qui permet aux utilisateurs de modifier le html et donc je veux récupérer le nouveau html pour l'envoyer sur le serveur, mais sous ie ca ne fonctionne pas, donc ce que j'ai fais pour vous c'est isolé le probleme, j'essaye d'appeler une fonction dans le document chargé en iframe à partir du document qui a le iframe, voici mes codes:

index.html

<script type="text/javascript">
window.onload = start;

function start(){
iframe = document.getElementById("editme").contentDocument || document.getElementById("editme").contentWindow.document;
if(iframe.designMode){iframe.designMode = 'on'}
listen();
}
function listen(){
submi = document.getElementById("sub");
submi.onclick = function(){sendTrip()}
}
function sendTrip(){
alert('essaye...');
alert(window.frames['editme'].check());
}
</script>
.
.
.
<iframe id="editme" name="editme" src="maketrip.php" width="600" height="350"></iframe>
<input id="sub" type="button" name="sub" value="Submit" />
.
.
.

mon iframe "maketrip.php":

<script type="text/javascript">function check(){return 'ca marche !';}</script>
ecrire ici

Donc sous opera, firefox, safari je vois bien les alertes "essaye..."; et "ca marche !"

MAIS sous ie ca ne fais que l'alerte "essaye..." donc c'est bien au niveau de l'appel au fonction que ca déraille

MAIS, j'ai pris un document vierge et j'ai fais QUE ce script simplifier, pour mieux travailler le probleme donc j'ai:

index.html:

<html>
<head>
<title>Untitled Document</title>
<script type="text/javascript">
window.onload = start;
function start(){
alert('trying');
alert(window.frames['editme'].check());
}
</script>
</head>

<body>
<iframe src="framed.html" width="500" height="200" name="editme" id="frameid"></iframe>
</body>
</html>

framed.html (le iframe):

[code]
<script type="text/javascript">function check(){return 'ca marche !';}</script>
ecrire ici

Et la ca fonctionne partout ! alors pourquoi le premier ne fonctionne pas ? ! !

Les fichiers se trouveent ici, celui qui marche pas: http://www.herpfrance.com/test/rte/ (lancement quand on 'Submit')

Et celui qui marche: http://www.herpfrance.com/test/framesie/ (lancement au onload)

Vous voyez le meme resultat avec tous les navigateurs sauf ie qui veut bien faire le deuxieme, mais pas le premier ! au secours

Modifié par djp1988
Lien vers le commentaire
Partager sur d’autres sites

en supprimant des morceau de code il parait que, c'est la ligne:

if(iframe.designMode){iframe.designMode = 'on'}

Qui semble à l'origine de la difference en comportement entre les deux documents, alors je me demandes, il serait donc impossible d'appeler une fonction d'un document dans un iframe lorsque designMode = 'on' ??????? et alors comment je contourne cela?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...