0

ユーザーが次のコードを使用してフォームに適切に入力しなかった場合にメッセージを表示するjQueryフォームがあります。

if (errorList.length > 0) {
                    permitted = false;

                    //Display error message
                    $("#" + stepName + " legend").after("<div id=\"errorList\" class=\"error\"><h3>Please correct the following </h3><ul></ul></div>");
                    for (var j = 0; j < errorList.length; j++) {
                        if (errorList[j] != undefined)
                            $("#errorList ul").append("<li>" + errorList[j] + "</li>");
                    }

                }

問題は、ユーザーがエラーでフォームを複数回送信しようとすると、次のことが発生することです。

ここに画像の説明を入力してください

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

3

.empty反復の前に a を追加します。

$("#errorList ul").empty();
for(var j = 0; j < errorList.length; j++) {
if (errorList[j] != undefined)
    $("#errorList ul").append("<li>" + errorList[j] + "</li>");
}
于 2012-05-23T14:57:56.660 に答える
2

試す:

           if (errorList.length > 0) {
                permitted = false;

                //Display error message
                $("#" + stepName + " legend").after("<div id=\"errorList\" class=\"error\"><h3>Please correct the following </h3><ul></ul></div>");
                $("#errorList ul").empty(); // THIS FIXES IT
                for (var j = 0; j < errorList.length; j++) {
                    if (errorList[j] != undefined)
                        $("#errorList ul").append("<li>" + errorList[j] + "</li>");
                }

            }
于 2012-05-23T14:56:57.753 に答える