提问人:gavenkoa 提问时间:5/31/2023 更新时间:5/31/2023 访问量:41
如果表单没有附加到文档 DOM,为什么 form.submit() 什么都不做?[复制]
Why does form.submit() do nothing if form is not attached to a document DOM? [duplicate]
问:
我可以通过以下方式制作一个隐藏形式:style.display = 'none'
var form = document.createElement("form");
form.method = "POST";
form.action = "//test.local/login.php";
form.style.display = 'none';
我想与其隐藏,不如将表单排除在文档 DOM 之外,例如删除该行:
document.body.appendChild(form);
但是:
form.submit();
什么都不做。为什么表单需要附加到 DOM 才能工作?submit()
答:
3赞
Quentin
5/31/2023
#1
如果窗体无法导航,则返回。
如果元素不是 a 元素(它是 )并且未连接,则表单无法导航。 (它不是因为它是它自己的根,因为它没有附加到文档)。form
1赞
tmkiernan
5/31/2023
#2
从本质上讲,似乎表单必须以某种方式连接到 DOM 才能使事件有效。
@Hikarunomemory 在此处对此进行了更详细的介绍
https://stackoverflow.com/a/49994802/3381067
评论
1赞
Barmar
5/31/2023
如果您只是要发布指向其他问题的链接,请将其标记为重复问题。
评论
position: absolute
left