フォームを含むファンシーボックスhttp://fancybox.netがあります。
フォームで jQuery 検証プラグインを実行しています: http://docs.jquery.com/Plugins/Validation/Validator
エラー メッセージは、position:absolute と上部マージンを使用して、入力のすぐ下に配置されます。
var validator = $("#contact-us").validate({
messages: {
name: "Please enter your name",
phone: "Please enter your phone number",
email: "Please enter a valid e-mail address"
}
});
// Launch lightbox
$(".launch-form").fancybox({
'speedIn' : 500,
'speedOut' : 300,
'overlayOpacity' : 0.9,
'overlayColor' : '#000',
onComplete : function() {$('#cta-name').focus();},
onCleanup : function() {validator.resetForm();}
});
label.error {
background-color: #ae4136;
color: #FFFFFF;
font-size: 10px;
margin-top: 30px;
padding: 1px 5px 2px 5px;
position: absolute;
right: 21px;
line-height:1.2;
height:12px;
}
2回目にポップアップを起動したときにエラーメッセージを生成する場合を除いて(つまり、フォームをリセットした後)、すべてうまく機能しています。メッセージは 30 ピクセル下に表示されます。
位置が再計算される理由について何か考えはありますか? FF14 を使用していますが、chrome でも同じ問題が発生します。どんな助けでも大歓迎です!