在谷歌浏览器中,一些客户无法进入我的付款页面。尝试提交表单时出现此错误:
name=” 的无效表单控件不可聚焦。
这是来自 JavaScript 控制台。
我读到问题可能是由于隐藏字段具有必需的属性。现在的问题是我们使用的是 .net webforms 必填字段验证器,而不是 html5 必填属性。
谁得到这个错误似乎是随机的。有没有人知道这个的解决方案?
原文由 mp1990 发布,翻译遵循 CC BY-SA 4.0 许可协议
在谷歌浏览器中,一些客户无法进入我的付款页面。尝试提交表单时出现此错误:
name=” 的无效表单控件不可聚焦。
这是来自 JavaScript 控制台。
我读到问题可能是由于隐藏字段具有必需的属性。现在的问题是我们使用的是 .net webforms 必填字段验证器,而不是 html5 必填属性。
谁得到这个错误似乎是随机的。有没有人知道这个的解决方案?
原文由 mp1990 发布,翻译遵循 CC BY-SA 4.0 许可协议
添加 novalidate
属性到表单将有助于:
<form name="myform" novalidate>
原文由 user2909164 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读
2 回答986 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答871 阅读✓ 已解决
2 回答1.2k 阅读
如果表单字段验证失败,Chrome 就会出现此问题,但由于相应的无效控件不可聚焦,浏览器尝试在其旁边显示消息 “请填写此字段” 的尝试也失败了。
由于多种原因,表单控件在触发验证时可能无法获得焦点。下面描述的两种情况是最突出的原因:
根据业务逻辑的当前上下文,该字段是不相关的。在这种情况下,应从 DOM 中禁用或删除相应的控件,或者此时不使用
required
属性进行标记。由于用户在输入上按下 ENTER 键,可能会发生过早验证。或者用户单击未正确定义控件的
type
属性的表单中的按钮/输入控件。如果按钮的类型属性未设置为button
,Chrome(或与此相关的任何其他浏览器)会在每次单击按钮时执行验证,因为submit
是默认值按钮的type
属性。要解决此问题,如果您的页面上有一个按钮执行 提交 或 重置 以外的其他操作,请始终记住执行此操作:
<button type="button">
。