jQuery表单错误迭代

时间:2012-05-23 14:55:38

标签: jquery forms validation

我有一个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>");
                    }

                }

问题在于,当用户尝试多次提交表单时出现错误,会发生以下情况:

enter image description here

如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

在迭代前添加.empty ..

$("#errorList ul").empty();
for(var j = 0; j < errorList.length; j++) {
if (errorList[j] != undefined)
    $("#errorList ul").append("<li>" + errorList[j] + "</li>");
}

答案 1 :(得分: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>");
                }

            }