我看到了这个验证插件http://demos.usejquery.com/ketchup-plugin/我想知道,你如何确定输入的位置?如您所见,使用该插件会显示一条消息,但它如何确切知道有错误的输入在哪里并将消息准确地放在那里?
问问题
120 次
2 回答
2
该插件的源代码,特别是错误消息容器的源代码如下所示:
createErrorContainer: function(form, el) {
if(typeof form == 'function') {
this.defaults.createErrorContainer = form;
return this;
} else {
var elOffset = el.offset();
return $('<div/>', {
html : '<ul></ul><span></span>',
'class': 'ketchup-error',
css : {
top : elOffset.top,
left: elOffset.left + el.outerWidth() - 20
}
}).appendTo('body');
}
},
如您所见,它使用 .offset() 方法来获取输入字段相对于文档的位置。
更多信息在这里:http ://api.jquery.com/offset/
于 2013-03-06T22:41:14.503 回答
1
在原始 JavaScript 中获取元素(可能通过 id)后:
element.offsetLeft
element.offsetTop
或者使用 jQuery 的跨浏览器.offset()函数。
为了验证 Html5 已经这样做了。您真的不需要使用 Javascript 进行验证。当浏览器不支持它时,还有可用的pollyfills填充对 html5 表单验证的支持。
于 2013-03-06T22:39:48.340 回答