Chrome报表单提交错误,Form submission canceled because the form is not connected
之前在Chrome里运行正常的代码,Chrome升级到56后报表单提交错误:
Formsubmissioncanceledbecausetheformisnotconnected
代码如下:
functionsubmitData(name){
varform=$('<formmethod="post"action="updateName">'
+'<inputtype="submit"/>'
+'<inputtype="hidden"name="name"value="'+name+'"/></form>');
$('input[type="submit"]',form).click();
}
问题解决
原因
HTML标准规定如果form表单没有被添加到document里,那么form表单提交将会被终止。
参考:Formsubmissionalgorithm
在Chrome56之前的版本是不符合标准的,Chrome56修复了这个问题,让form表单提交符合标准要求:
参考:Chromeissue2416033002
解决方法
解决方法就是把form表单添加到document后再提交:
jQuery
$(document).append(form);
或
document.body.appendChild(form);
相关推荐
wcqwcq 2020-07-04
TONIYH 2020-06-11
yhginny 2020-04-20
nicepainkiller 2020-05-12
Lius 2020-05-05
longshengguoji 2020-02-13
ajaxtony 2020-02-03
HSdiana 2019-12-15
taiyanghua 2019-12-02
sunnyishere 2014-01-22
86580599 2019-09-23
shumark 2014-05-29
爱好HtmlCssJs 2019-10-28
shumark 2014-07-07
AngelicaA 2015-03-14
81751330 2015-03-10
kentrl 2016-05-03
Qc 2020-07-19
swiftwwj 2020-07-05