原因
HTML标准规定如果form表单没有被添加到document里,那么form表单提交将会被终止。
在Chrome56之前的版本是不符合标准的,Chrome56修复了这个问题,让form表单提交符合标准要求:
解决方法
解决方法就是把form表单添加到document后再提交:
jQuery
$(document).append(form);
或JS
之前在Chrome里运行正常的代码,Chrome升级到56后报表单提交错误:
Form submission canceled because the form is not connected
var form = document.createElement("form");
form.method = "post";
form.action = url;
form.style.display = "none";
form.target = "_blank";
for(var x in params){
var textarea = document.createElement("textarea");
textarea.name = x;
textarea.value = params[x];
form.appendChild(textarea);
}
form.submit();
原因
HTML标准规定如果form表单没有被添加到document里,那么form表单提交将会被终止。
在Chrome56之前的版本是不符合标准的,Chrome56修复了这个问题,让form表单提交符合标准要求:
解决方法
解决方法就是把form表单添加到document后再提交:
jQuery
$(document).append(form);
或JS
document.body.appendChild(form);