この検証プラグインhttp://demos.usejquery.com/ketchup-plugin/を見たのですが、どうすれば入力の位置を特定できるのでしょうか? お気づきのように、そのプラグインを使用してメッセージを表示しますが、エラーのある入力がどこにあるかを正確に認識し、メッセージを正確にそこに置くにはどうすればよいでしょうか?
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
要素を (おそらく id で) 取得した後、生の JavaScript で:
element.offsetLeft
element.offsetTop
または、jQuery のクロスブラウザー.offset()関数を使用します。
検証のために、Html5 は既にこれを行っています。Javascript でバリデーションを行う必要はありません。また、ブラウザーがサポートしていない場合に html5 フォームの検証をサポートするpollyfillsも利用できます。
于 2013-03-06T22:39:48.340 に答える