我正在面对着名的Chrome的“不可注意的输入”错误,但我的情况与另一篇文章中解释的不同,我可以在那里找到.
我有一个这个错误信息首先复制在一个很好的输入,这个输入没有必要的属性:
代码:
<fieldset> <label>Total (montaje incl.)</label> <input type="number" id="priceFinal" name="priceFinal"> € </fieldset>
错误:
name =’priceFinal’的无效表单控件不可对焦.
当用户填写表单时,此字段通过js脚本与jquery获取其值.用户在另一个输入中键入一个大小,该脚本使用大小值进行数学运算,然后将结果放在“priceFinal”输入中,并使用jquery函数:.val()
在浏览器中,我们可以看到输入正确填写,当时没有显示任何错误.而且,“novalidate”解决方案一切顺利,所以它不可能对nofocusable错误负责,我想.
然后我得到了一个没有我没有写入并且不存在于我的DOM中的输入的错误:
name =”的无效表单控件不可对焦.
这是奇怪的,因为我的形式中没有名字的唯一输入是类型:提交一个
<input type="submit" class="btn btn-default" value="Ver presupuesto" />
我有几个必填字段,但是我一直在发送表单时检查它们是否全部填写.我粘贴它,以防万一它可以帮助:
<fieldset> <input type="text" id="clientName" name="clientName" placeholder="Nombre y apellidos" class="cInput" required > <input type="text" id="client_ID" name="client_ID" required placeholder="CIF / NIF / DNI" class="cInput"> </fieldset> <fieldset> <input type="text" id="client_add" name="client_add" placeholder="Dirección de facturación" class="addInput" required > </fieldset> <fieldset> <input type="text" id="client_ph" name="client_ph" placeholder="Teléfono" class="cInput" required> <input type="email" id="client_mail" name="client_mail" placeholder="Email" class="cInput" required> </fieldset>
novalidate解决方案清除错误,但它不解决它,我的意思是必须有一种方法来解决它没有黑客.
任何人都有什么想法可能发生什么?
谢谢
解决方法
我也有同样的问题,每个人都被指责为需要的可怜的隐藏输入,但是似乎是一个bug,你需要的字段在一个字段中.
Chrome会尝试专注(因某些未知原因)您的字段而不是您所需的输入.
Chrome会尝试专注(因某些未知原因)您的字段而不是您所需的输入.
这个bug只出现在版本43.0.2357.124 m中测试的chrome中.
在Firefox中不会发生
例子(很简单).
<form> <fieldset name="mybug"> <select required="required" name="hola"> <option value=''>option 1</option> </select> <input type="submit" name="submit" value="send" /> </fieldset> </form>
名称=’mybug’的无效表单控件不可对焦.
这个bug很难发现,因为通常fieldets没有一个名字,所以name =”是一个WTF!但一块一块的形式,直到我发现了culprid.
如果从现场集中得到所需的输入,错误就会消失.
<form> <select required="required" name="hola"> <option value=''>option 1</option> </select> <fieldset name="mybug"> <input type="submit" name="submit" value="send" /> </fieldset> </form>
我会报告,但我不知道铬社区的错误在哪里.