jqueryvalidate-将焦点调整到无效
网站在页面顶部有一个静态菜单栏,然后表单位于主体下方。使用jqueryvalidate,我的错误消息显示在表单输入元素的正下方。我的问题是,当它关注第一个无效元素时,输入框和上标签隐藏在静态菜单栏后面。是否有一种方法可以调整无效的焦点,使其更关注表单jqueryvalidate-将焦点调整到无效,jquery,html,css,jquery-validate,Jquery,Html,Css,Jquery Validate,网站在页面顶部有一个静态菜单栏,然后表单位于主体下方。使用jqueryvalidate,我的错误消息显示在表单输入元素的正下方。我的问题是,当它关注第一个无效元素时,输入框和上标签隐藏在静态菜单栏后面。是否有一种方法可以调整无效的焦点,使其更关注表单 errorElement: "div", invalidHandler: function(form, validator) { var errors = validator.numberOfInvalids();
errorElement: "div",
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
validator.errorList[0].element.focus();
}
},
这是隐藏在静态菜单/标题后面的输入框的底部
所有输入元素都包含在一个div中,如果存在一个present,则错误消息将隐藏该元素,然后在字段有效时再次显示该元素
<div class="3u">
<input type="text" name="dob"/>
<h6 class="note">Date of birth</h6>
</div>
出生日期
我在考虑如何将焦点转移到父级,但到目前为止还没有成功。似乎您的问题与jQuery验证插件关系不大,而所有问题都与您如何构建HTML和CSS有关。“我的问题是,当它关注第一个无效元素时,输入框和上标签隐藏在静态菜单栏后面。“~你的问题描述非常不清楚。你能创建一个JSFIDLE演示吗?焦点只是将光标的焦点放在第一个无效元素上,那么这怎么会导致它突然出现在其他元素后面呢?似乎您只需要重新构造页面,以便在菜单栏和表单之间有足够的空间,而不是修补默认行为。如果您只需将
focusInvalid
选项设置为false
,会发生什么情况?“我正在考虑如何将焦点更改为父级,但到目前为止还没有成功。”~我认为您需要重新检查“焦点”的定义。该插件的“焦点”功能只是将光标放在第一个无效字段上。当div
元素未经验证且不接受用户输入时,关注div
有什么好处,因此它们与此插件无关。似乎您的问题与jQuery验证插件关系不大,而与您如何构建HTML和CSS有关。“我的问题是,当它关注第一个无效元素时,输入框和上标签隐藏在静态菜单栏后面。“~你的问题描述非常不清楚。你能创建一个JSFIDLE演示吗?焦点只是将光标的焦点放在第一个无效元素上,那么这怎么会导致它突然出现在其他元素后面呢?似乎您只需要重新构造页面,以便在菜单栏和表单之间有足够的空间,而不是修补默认行为。如果您只需将focusInvalid
选项设置为false
,会发生什么情况?“我正在考虑如何将焦点更改为父级,但到目前为止还没有成功。”~我认为您需要重新检查“焦点”的定义。该插件的“焦点”功能只是将光标放在第一个无效字段上。当div
元素未经验证且不接受用户输入,因此它们与此插件无关时,关注div
有什么好处。