1

我正在尝试编辑一个页面,以便提交表单只是生成一个 iframe。如果我使用此代码:

window.onload = function() {
  var formItem = document.getElementsByTagName("form")[2];
  formItem.setAttribute('action', '');
  formItem.addEventListener('submit', createIframe, false);
}

function createIframe(){
  var ifrm = document.createElement("IFRAME"); 
  ifrm.setAttribute("src", "http://127.0.0.1/myIframe.html"); 
  ifrm.style.width = "50%"; 
  ifrm.style.height = "50%"; 
  document.body.appendChild(ifrm); 
}  

然后在提交表单时不会生成 iframe。但是,如果我将 createIframe() 函数设为:

function createIframe(){
    alert(1); 
    } 

然后在提交表单时创建警报。因此它一定是我的 iframe 代码的问题,但我不知道是什么!有没有人有什么建议?谢谢

4

1 回答 1

2

您忘记取消form的默认行为。

function createIframe(e){
    e.preventDefault();
    //...

如果没有这个,表单将使用空action属性将页面提交给自身。

小提琴

event.preventDefault()MDN 参考

于 2012-08-07T10:26:25.133 回答