提问者:小点点

name=''的无效窗体控件不可聚焦


在谷歌Chrome中,一些客户无法进入我的支付页面。当尝试提交表单时,我遇到以下错误:

name=''的无效窗体控件不可聚焦。

这是来自JavaScript控制台的。

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

谁得到这个错误似乎是随机的。有没有人知道解决这个问题的办法?


共2个答案

匿名用户

在Chrome上,如果一个表单字段未通过验证,但由于相应的无效控件无法聚焦,浏览器试图在其旁边显示“请填写此字段”的消息也会失败,则会出现此问题。

由于几个原因,窗体控件在触发验证时可能不可聚焦。以下两种情况是最突出的原因:

>

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

    由于用户在输入上按ENTER键,可能会发生过早验证。或者用户单击窗体中的按钮/输入控件时,该控件未正确定义控件的type属性。如果按钮的type属性未设置为button,Chrome(或任何其他浏览器)每次单击按钮时都会执行验证,因为submit是按钮type属性的默认值。

    若要解决此问题,如果您的页面上有一个按钮执行“提交”或“重置”以外的其他操作,请始终记住执行以下操作:

  • 匿名用户

    novalidate属性添加到表单将有所帮助:

    <form name="myform" novalidate>