[DOM] form target="iframe générée" et IE
Bonjour,
Je voudrais obtenir un formulaire dont le résultat est envoyé dans une iframe au préalable générée par Javascript via le DOM.
Cela fonctionne avec Firefox, mais pas du tout avec ie : le formulaire est dans ce dernier cas envoyé dans une nouvelle fenêtre.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<div id="cont"></div>
<script language="Javascript">
var ifr = document.createElement('iframe');
ifr.name = "essai";
document.getElementById('cont').appendChild(ifr);
</script>
<form action="" target="essai" method="post">
<input type="submit">
</form> |
note :
Code:
1 2 3 4 5 6 7 8 9 10
|
<div id="cont"></div>
<script language="Javascript">
document.getElementById('cont').innerHTML = '<iframe name="essai"></iframe>';
</script>
<form action="" target="essai" method="post">
<input type="submit">
</form> |
ne fonctionne pas non plus de la manière attendue avec ie, fonctionne correctement avec Firefox.
Connaîtriez-vous une solution à ce problème, ou une parade ?
merci d'avance pour votre réponse
martin
DOM : iframe crée dynamiquement et target formulaire
Bonsoir,
J'ai créé un script upload asynchrone en javascript avec des iframes (vu que l'on a pas trop le choix ...).
Il fonctionne très bien sous FF, mais IE me fait des difficultés, les même que "martinv" a évoqué dans son post précédemment.
J'ai regardé pour ajouter un id lors de la création de ma iframe comme le suggérais "Bisûnûrs".
Mais j'avais déjà ajouté la ligne dans mon script...
j'ai beau chercher et chercher encore, je ne trouve pas du tout la méthode "forcing" pour que IE laisse le script fonctionner tel qu'il le fait sous FF.
Si quelqu'un pouvait m'orienter sur une solution.. Sachant que le script est terminé et que très honnêtement vu le temps que j'ai passé dessus pour le construire, j'ai pas trop envie de tout reprendre :mrgreen:
J'imagine qu'il y a bien une façon de contourner le problème ^^
(Si j'enlève le target par conte, le script s'exécute correctement, grrr !).
Merci d'avance !
DOM : iframe crée dynamiquement et target formulaire
Sur le même problème, j'ai trouvé une solution qui marche sur IE et Mozilla, en remplaçant :
Code:
1 2 3 4 5 6 7 8 9
|
var _ifrm= document.createElement("IFRAME");
_ifrm.id = iframeid;
_ifrm.name = iframeid;
with(_ifrm.style){
width = 0;
height = 0;
}
document.body.appendChild(_ifrm); |
par ça :
Code:
1 2 3 4
| var str = "<iframe name='" + iframeid + "' id='" + iframeid + "' width=0 height=0></iframe>";
var div = document.createElement("DIV");
div.innerHTML = str;
document.body.appendChild(div); |
Du coup, quand je fais :
Code:
form.target = iframeid
, ça passe..