小编典典

名称=''的无效表单控件不可聚焦

html

我的网站上有一个严重的问题。在Google Chrome浏览器中,某些客户无法进入我的付款页面。尝试提交表单时出现此错误:

An invalid form control with name='' is not focusable.

这来自JavaScript控制台。

我读到问题可能是由于隐藏字段具有必填属性。现在的问题是,我们使用的是.net Webforms必需的字段验证器,而不是html5必需的属性。

出现此错误的似乎是随机的。有谁知道解决方案吗?


阅读 427

收藏
2020-05-10

共1个答案

小编典典

如果表单字段验证失败,则在Chrome上会发生此问题,但是由于相应的无效控件无法聚焦,浏览器尝试在其旁边显示消息 _ “请填写此字段”_
的尝试也失败了。

由于多种原因,在触发验证时,表单控件可能无法聚焦。下列两种情况是最主要的原因:

  • 根据业务逻辑的当前上下文,该字段无关紧要。在这种情况下,应该从DOM中删除相应的控件,或者此时不应该用required属性标记该控件。

  • 由于用户按 输入 上的 ENTER 键,可能会发生过早验证。或者用户单击按钮/输入控件的形式尚未 _ type 正确定义控件的属性。如果按钮的type属性未设置为 _ button ,则Chrome(或与此相关的任何其他浏览器)每次单击按钮都会执行一次验证,因为这 submit 是按钮 _ type_ 属性的默认值。

要解决该问题,如果页面上有一个按钮除了执行 提交 重置操作外 还执行其他操作,请始终记住执行以下操作:<button type="button">

2020-05-10