发布到<iframe>的<form>会导致IE7中的弹出窗口</iframe> </form>

时间:2011-06-03 02:37:20

标签: jquery html iframe internet-explorer-7

我正在用jQuery构建一个iframe和form:

iframe = $("<iframe>", {name : "foo"});
form = $("<form>", {
  target : $iframe.attr("name"),
  action : "/foobar",
  method : "POST"
}).append($("<input>", {
  type  : "submit",
  name  : "amifully",
  value : "dressed"
}).hide());
$("body").append(iframe).append(form);
form.submit();

出于某种原因,在Chrome / Safari / Firefox / IE8 +中它运行良好但在IE7中它会在弹出窗口中打开表单。

任何人都知道发生了什么事?

1 个答案:

答案 0 :(得分:6)

唉唉!我想到了!基本上,当您尝试使用jQuery向元素添加name属性时,IE7会变得怪异......您必须在原始字符串中创建名称:

iframe = $("<iframe name=\"foo\">");

这是一件微妙的事情!希望这有助于防止其他人花5个小时在互联网上搜索答案。