Да, я знаю, что возрождаю старую ветку. Подай в суд на меня. Я заинтересован в ответе.
Я не понимаю, почему наличие триггера, являющегося отправкой формы, не позволяет динамически создавать IFrame. Разве это не делает именно то, что вы хотите?
<html>
<head>
<script type="text/javascript">
function setIFrame(elemName, target, width, height) {
document.getElementById(elemName).innerHTML="<iframe width="+width+" height="+height+" src='"+target+"'></iframe>";
}
</script>
</head>
<body>
<div id="iframe" style="width:400px; height:200px"></div>
<form onSubmit="setIFrame('iframe', 'http://www.google.com', 400, 200); return false;">
<input type="submit" value="Set IFrame"/>
</form>
</body>
</html>