jQuery 验证插件无法滚动到 iOS 8 Safari 中出现验证错误的字段
jQuery Validate plugin unable to scroll to field with validation error in iOS 8 Safari
我正在使用 jQuery Validate plugin 来验证表单输入(用户信息、地址、信用卡详细信息等)
表格在网站的移动版上。
当您填写表格并向下滚动到页面底部的 'purchase' 按钮时,如果您的字段无效(例如您忘记输入任何内容),请单击 'purchase' 按钮将聚焦无效输入并向上滚动到该输入。这全部由 jQuery 验证插件完成。
这适用于我测试过的大多数移动浏览器(Android/Chrome、Windows Phone、移动版 Safari iOS 7 及更低版本)。但是 iOS8+ 上的任何 移动版 Safari 浏览器都不会滚动。输入被聚焦并且屏幕键盘弹出,但是滚动到输入没有发生。
我调查了其他几个讨论相似但略有不同的问题的线程,但找不到解决问题的方法!
如有任何帮助,将不胜感激!
Title: jQuery Validate plugin unable to scroll to field with validation error in iOS 8 Safari
实际上,这不是任何浏览器的此插件的功能。
The jQuery Validate plugin's source code验证只是将"focus"带入无效字段,与滚动页面完全无关。如果您的移动浏览器正在滚动,则滚动到焦点元素只是浏览器的一项功能。
您必须编写自己的自定义 invalidHandler
function 才能找到带有 error
class 的第一个元素并滚动到它。
Callback for custom code when an invalid form is submitted.
invalidHandler: function(event, validator) {
// your code for finding invalid element and scrolling
}
我正在使用 jQuery Validate plugin 来验证表单输入(用户信息、地址、信用卡详细信息等)
表格在网站的移动版上。
当您填写表格并向下滚动到页面底部的 'purchase' 按钮时,如果您的字段无效(例如您忘记输入任何内容),请单击 'purchase' 按钮将聚焦无效输入并向上滚动到该输入。这全部由 jQuery 验证插件完成。
这适用于我测试过的大多数移动浏览器(Android/Chrome、Windows Phone、移动版 Safari iOS 7 及更低版本)。但是 iOS8+ 上的任何 移动版 Safari 浏览器都不会滚动。输入被聚焦并且屏幕键盘弹出,但是滚动到输入没有发生。
我调查了其他几个讨论相似但略有不同的问题的线程,但找不到解决问题的方法!
如有任何帮助,将不胜感激!
Title: jQuery Validate plugin unable to scroll to field with validation error in iOS 8 Safari
实际上,这不是任何浏览器的此插件的功能。
The jQuery Validate plugin's source code验证只是将"focus"带入无效字段,与滚动页面完全无关。如果您的移动浏览器正在滚动,则滚动到焦点元素只是浏览器的一项功能。
您必须编写自己的自定义 invalidHandler
function 才能找到带有 error
class 的第一个元素并滚动到它。
Callback for custom code when an invalid form is submitted.
invalidHandler: function(event, validator) {
// your code for finding invalid element and scrolling
}