成功和错误同时运行,而不是显示错误消息并保持填充字段

Success and error run at the same time instead of displaying the error message and keeping the fields populated

本文关键字:错误 消息 显示 字段 填充 运行 成功      更新时间:2023-09-26

当用户输入错误时,表单字段应该保留它们的值,直到用户输入必需的字段。相反,将显示错误消息,并且清除表单字段。我怎样得到它来保存信息?下面是这段代码:

        }).success(clearAddStaticPageForm())
        .error(function (data, status) {
            $('#validationErrors').empty();
            // #2 - Go through each of the fieldErrors and display the associated error
            // message in the validationErrors div
            $.each(data.responseJSON.fieldErrors, function (index, validationError) {
            var errorDiv = $('#validationErrors');
            errorDiv.append(validationError.message).append($('<br>'));
        });
    });

替换}).success(clearAddStaticPageForm())

}).success(clearAddStaticPageForm)

括号实际上是在执行函数,而不是将其作为回调传递(即使没有调用success方法)。这就是我的意思,试试这两个片段:

带圆括号(错误地执行成功回调)

$.ajax({url: 'url_that_does_not_exist'})
 .success(mySuccessCallback())
 .error(function(){ alert('There was an error!'); });
function mySuccessCallback() {
    alert('The success callback was executed.');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

不带括号

$.ajax({url: 'url_that_does_not_exist'})
 .success(mySuccessCallback)
 .error(function(){ alert('There was an error!'); });
function mySuccessCallback() {
    alert('The success callback was executed.');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>