最新の jQuery ライブラリと jquery 検証プラグインを使用して、フォームを検証しています。
フッターに検証するフォームを配置しました。エラーメッセージが表示されるとすぐに、フッターがアニメーション化されて引き伸ばされます。検証は問題なく機能しますが、errorPlacement がまったく呼び出されないだけです。また、(ここではjQuery Validation errorPlacement )、validate() には既に errorPlacement のデフォルト アクションがあり、これを上書きする必要があることも読みました。(次のコードを使用すると、メッセージが表示されなくなると思いますよね?
私は試しました(もちろん、他の要素(メッセージ/ルール)でも):
$(document).ready(function(){ //.ready -> steht erst nach dem Laden des DOMs zur Verfügung
$("#nlForm").validate({
debug: true,
onfocusout: false,
onKeyUp: false,
errorLabelContainer: $("#results"),
wrapper: "li", //wrapping the errormessages in <li>
rules: { },
messages: { },
errorPlacement: function( ) {
$("#footer").animate({
height: "300px",
}, 1500 );
},
submitHandler: function(form) {
$('#results').css('display', 'none') //hides my results-div in the beginning
$("#footer").animate({
height: "300px",
}, 1500 );
var docHeight = $(document).height();
var windowHeight = $(window).height();
var footerheight = 70; //additional pixels of stretched footer
var scrollPos = docHeight - windowHeight + footerheight;
$('html, body').animate({ //scrolling down
scrollTop: scrollPos+'px'
}, 1500);
$.post('/process.php', $("#nlForm").serialize(), function(data) {
$('#results').html(data);
});
$('#results').fadeIn(1500); //fades in my results-div
}
});
});
エラーは発生しませんが、アニメーションもしません。errorPlacement 関数が呼び出されない理由がわかりません。(私も追加しようとしました
document.write('hi there')
関数が呼び出されるかどうかを確認してください。しかし、そうではありません...
誰かが機能している簡単な例を投稿できれば、本当にうれしいです。または、私が変更できることを教えてください...
さらに、エラーの外観もアニメーション化する予定です。これをどのように達成できるか考えていますか? results-div で生成されようとしている label-object を取得する必要があります。どうすればそれに対処できますか?
もうありがとう
乾杯
(ところで、最初に間違った場所に投稿してしまってすみません..)
-------残念ながら、まだ回答を投稿できないため、投稿を編集する必要があります------- 回答:
ご回答有難うございます; 1に。私はちょうどそれらを省略したことを知っています..
rules: {
nlName: {
rangelength: [3, 25], // muss zwischen 3 und 25 zeichen lang sein.
required: true,
notName: true,
},
nlEmail: {
required: true,
email: true, //has to be a valid email, returns true if so.
}
}, //ohne Komma gehts nicht...
messages: {
nlName: {
required: "Bitten geben Sie einen Namen ein",
notName: "Ihr Name lautet nicht 'Name'!",
rangelength: "Ihr Name muss zwischen 3 und 25 Zeichen lang sein.",
},
nlEmail: "Ihre Emailadresse scheint ungültig zu sein",
},
主にドイツ語であり、この部分はうまく機能するためです。「形が整っている」の意味がわかりませんか?どこにもエラーを配置するコードがないということですか? それは本当です、私は今までそれをしませんでした。私は通常のメッセージ表示方法でそれを作りました。しかし、私のエラーがまだ表示されているということは、私の errorPlacement が適切に呼び出されていないことを示していますね。
submitHandler が呼び出されるのは、すべてが問題ない場合のみであることは明らかです。アニメーションを2回だけ行います。1 回は、私の process.php によって生成された最終メッセージ「successful subscripion blabla, generated by my process.php」を表示する場所を確保し、1 回はエラーを表示する必要がある場合にのみ...
さて、私は間違いなくこのinvalidHandlerを見ていきます。今のところThx。