Bienvenue DONC.
Seul problème que j'ai vu dans votre code, c'est que vous n'êtes jamais en fait de l'affichage de l'iframe. Pour qu'elle apparaissent sur la page, vous devez l'insérer dans votre document. Dans mon exemple, j'ai créer un <span>
balise d'agir comme le logement où l'iframe aurez inséré.
Voir si ce n'est ce que vous cherchez.
<!-- http://stackoverflow.com/questions/2181385/ie-issue-submitting-form-to-an-iframe-using-javascript -->
<html>
<head>
<script type="text/javascript">
function submitFormToIFrame(){
var form=document.getElementById('myform');
form.setAttribute('target', 'frame_x');
form.submit();
}
</script>
</head>
<body>
<h1>Hello Erwin!</h1>
<form id="myform" name="myform" action="result.html">
<input type="button" value="Submit the Form" onClick="submitFormToIFrame();">
</form>
<span id="iframeSlot">
<script type="text/javascript">
var iframe = document.createElement('iframe');
iframe.setAttribute('name', 'frame_x');
document.getElementById('iframeSlot').appendChild(iframe);
</script>
</span>
</body>
</html>
Mise à JOUR:
J'ai trouvé que cette solution ne fonctionne que sous Firefox. J'ai donc fait quelques tests. Il semble que si vous définissez l'iframe dans le code html (au lieu de générer via JS/DOM), alors il fonctionne. Voici la version qui fonctionne avec IE et Firefox:
<html>
<head>
<script type="text/javascript">
function submitFormToIFrame(){
//IE
if( document.myform ){
document.myform.setAttribute('target','frame_x');
document.myform.submit();
//FF
} else {
var form=document.getElementById('myform');
form.setAttribute('target', 'frame_x');
form.submit();
}
}
</script>
</head>
<body>
<h1>Hello Erwin!</h1>
<form id="myform" name="myform" action="result.html" target="">
<input type="button" value="Submit the Form" onClick="submitFormToIFrame();">
</form>
<span id="iframeSlot">
<iframe name="frame_x">
</iframe>
</span>
</body>
</html>