chrome An invalid form control with name is not focusable.
提交表单时chrome控制台出现错误:An invalid form control with name is not focusable.
出现这个错误是因为表单中包含了HTML5属性required的控件不可见(如这个控件style display设置为none或者其父容器display为none),被隐藏起来了,导致chrome无法聚焦这个值为空的输入项弹出错误提示窗口而报错:An invalid form control with name='' is not focusable.
测试代码如下
<form onsubmit="return ck(this)"><input type="text" id="t" required style="display:none"/><input type="submit" /></form>
点击提交按钮就会报错:An invalid form control with name is not focusable.
如果有特殊要求不想显示输入控件在可见视窗内,可以给控件增加容器,容器absolute定位,设置left或者top为一个很大的负值,让控件不在视窗内显示即可。但是需要注意这个控件不在视窗内,会导致无法输入,只能使用js来赋值。如果这个控件没有值,表单将无法提交。
<form onsubmit="return ck(this)"><div style="position:absolute;left:-9999999px;"><input type="text" required /></div><input type="submit" /></form>
加支付宝好友偷能量挖...
原创文章,转载请注明出处:chrome An invalid form control with name is not focusable.