2

我试图绕过:自带的Chrome窗体控件解决方法 - 浏览器错误

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

错误。是的,我们有一些必需的字段,是的,这些字段是隐藏的。该表格分成标签,一次只显示一个标签。

是否有某种类型的Jquery函数可以显示某种类型的弹出窗口,显示“您必须填写其他选项卡中的信息”?

我看起来here但没有告诉我很多。

谢谢!

+0

怎么能隐藏输入被赋予属性时需要?用脚本验证它 – charlietfl 2013-03-03 01:25:21

回答

11

你应该做你自己的验证,但作为备份解决方法,以防止在Chrome中出现这些错误。

的基本方法是这样的:

  • 在提交按钮单击事件检测使用:invalid伪类,Chrome浏览器添加到现场与错误,失败的领域,浏览器验证。
  • 找到该字段的父容器(例如它所在的选项卡)并使该容器可见。

这将确保用户被引导到带有错误的选项卡,并且Chrome的验证不会失败,因为该字段将是可调焦的。

一个非常基本的版本是这样的:

$('#inputbutton').click(function(){ 
    //find the invalid field 
    $('#myform').find(':invalid').first() 
    //find it's parent tab and show it 
    .parents('.tab-pane').show(); 
}); 
+0

嘿,这太好了,谢谢! – 2013-08-22 20:20:36

+1

for firefox你应该使用find('input:invalid,select:invalid,textarea:invalid'),因为无效的第一个元素可能是字段集 – boecko 2014-06-06 13:29:43

+0

如果无效字段位于不同的标签中,该怎么办? – 2015-08-14 12:18:55