chrome 报错 An invalid form control with name='' is not focusable
搜遍google baidu 给的答案是 把必填项required属性去掉
然后在提交之前写了个方法
var allInput = jQuery("input");
var allFlag = document.getElementsByTagName("*");
for (var k = 0 ; k < allFlag.length ; k ++){
if (allFlag[k].name == "" && allFlag[k].getAttribute("required") == "True") {
allFlag[k].removeAttribute("required");
}
}
saveSubmit();
但是不好使
不是name=''的问题,是你的含有required属性的控件或者这个控件容器被隐藏起来了不可以见,导致包含required属性的控件无法获取焦点。
你必须要将这个控件或者父容器设置为可见的。如下面的就会报错。。你需要将text设置为可见的。
<form onsubmit="return ck(this)"><input type="text" id="t" style="display:none" required /><input type="submit" /></form>
如果你不想将form中的控件内容呈现在页面上,给required 控件增加div容器,absolute定位,left和top设置为负值大点,就不会报错了,但是你这个不在视窗的区域必选要用js设置好值,要不提交不了表单
<form onsubmit="return ck(this)"><div style="position:absolute;left:-9999999px;"><input type="text" id="t" required /></div><input type="submit" /></form>