一度送信すると、エラー「li」タグをフォームの下の空の div に追加する検証スクリプトがあります。「li」タグがdivに追加されたら、このdivを下にスライドさせたいのですが、うまくいきます。
jQuery の .slideDown 効果を使用してこれを達成しましたが、最初の「li」タグまでしかスライドしないようで、その後、残りの「li」タグをジャンプします。理由がわかりません。スライド ダウン効果は、「li」タグではなく div 自体にあります。
これが私のCodePenの実例です。
コードは次のとおりです。
$("form").on("submit", function(e){
$("li").remove();
$("input").each(function(){
var $this = $(this);
if($($this).val() === ""){
var formName = $($this).attr("name");
var errorMessage = $(".errorMessage");
var li = $("<li></li>",{
text: "There was an error with " + formName,
class: "errorText",
});
$($this).addClass("errorInput");
$(errorMessage).append(li);
$(errorMessage).slideDown(1500);
e.preventDefault();
} if($($this).val() != ""){
$($this).removeClass("errorInput");
} else{
return true;
}
}); //Input
}); //Form .submit