我正在用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中它会在弹出窗口中打开表单。
任何人都知道发生了什么事?
答案 0 :(得分:6)
唉唉!我想到了!基本上,当您尝试使用jQuery向元素添加name
属性时,IE7会变得怪异......您必须在原始字符串中创建名称:
iframe = $("<iframe name=\"foo\">");
这是一件微妙的事情!希望这有助于防止其他人花5个小时在互联网上搜索答案。