在谷歌浏览器中,一些客户无法进入我的付款页面。
尝试提交表单时,我遇到以下错误:
名称为“”的无效表单控件不可聚焦
这是来自JavaScript控制台的
我了解到问题可能是由于隐藏字段具有必需的属性。
现在的问题是,我们使用的是.NETWebForms必需的字段验证器,而不是HTML5Required属性
谁会犯这个错误似乎是随机的。
有人知道这个问题的解决方案吗
如果表单字段未通过验证,但由于相应的无效控件不可聚焦,浏览器试图显示消息,则会在Chrome上出现此问题;请填写此字段“旁边的也会失败
表单控件在触发验证时可能不可聚焦,原因有多种。下面描述的两种情况是最突出的原因:
-
根据业务逻辑的当前上下文,该字段是不相关的。在这种情况下,相应的控件应该被禁用或从DOM中删除,或者不在此时使用
required属性进行标记 -
由于用户按下输入上的键,可能会出现过早验证。或者用户单击表单中未正确定义控件属性的按钮/输入控件。如果按钮的类型属性未设置为按钮,则每次单击按钮时,Chrome(或任何其他浏览器)都会执行验证,因为
<submit是按钮的<type属性的默认值
要解决此问题,如果您的页面上有一个按钮执行除提交或重置以外的其他操作,请始终记住执行此操作:<;按钮类型=";按钮“&燃气轮机
也看到https://stackoverflow.com/a/7264966/1356062