Javascript Ajax请求删除类jQuery

Javascript Ajax请求删除类jQuery,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有两张卡片。一张卡片上有一个用户输入的邮政编码,另一张卡片上有两个单选按钮供用户选择是否是学生。这张卡一开始是隐藏的。 我有一个Ajax请求,检查邮政编码是否存在。如果该邮政编码确实存在,则该卡将变为绿色(card--success),然后用户可以选择他们是否是另一张卡中的学生,当他们输入现有邮政编码时,该卡将被取消隐藏。 如果邮政编码不存在,卡片将变为红色(卡片-危险),而另一张学生卡将保持隐藏状态。 所有这些都很好 在用户意外输入无效的邮政编码后,我现在需要删除红色(卡片-危险),然后需要

我有两张卡片。一张卡片上有一个用户输入的邮政编码,另一张卡片上有两个单选按钮供用户选择是否是学生。这张卡一开始是隐藏的。 我有一个Ajax请求,检查邮政编码是否存在。如果该邮政编码确实存在,则该卡将变为绿色(card--success),然后用户可以选择他们是否是另一张卡中的学生,当他们输入现有邮政编码时,该卡将被取消隐藏。 如果邮政编码不存在,卡片将变为红色(卡片-危险),而另一张学生卡将保持隐藏状态。 所有这些都很好

在用户意外输入无效的邮政编码后,我现在需要删除红色(卡片-危险),然后需要正确地重新输入邮政编码。因为此时,如果用户在输入无效的邮政编码后重新输入另一个邮政编码,即使他们重新输入了有效的邮政编码,卡片仍然是红色的(卡片-危险)


最好的方法是什么?任何帮助都将不胜感激

这是我的密码-

$(document).ready(function() {
    $('#student-select').addClass('hidden');
    $('.submit-postcode').on('click', function(e) {
        e.preventDefault();

        var value = $('#inputPostcode').val();

        if (!value) {
            return;
        }

        $.ajax({
            method: 'POST',
            data: {postcode: value},
            url: '/postcode'
        }).done(function(data) {
           $('#postcode-card').addClass('card--success');
           $('#student-select').removeClass('hidden');
        }).fail(function(data) {
            $('#postcode-card').addClass('card--danger');
        })
    });
});

当您得到成功响应时,您只需要删除类

$(document).ready(function() {
    $('#student-select').addClass('hidden');
    $('.submit-postcode').on('click', function(e) {
        e.preventDefault();

        var value = $('#inputPostcode').val();

        if (!value) {
            return;
        }

        $.ajax({
            method: 'POST',
            data: {postcode: value},
            url: '/postcode'
        }).done(function(data) {
            $('#postcode-card').removeClass('card--danger');
           $('#postcode-card').addClass('card--success');
           $('#student-select').removeClass('hidden');
        }).fail(function(data) {
            $('#postcode-card').addClass('card--danger');
        })
    });
});
或者,如果您想在发送验证请求之前对其进行更改,则可以在用户更改输入时删除类

$('#inputPostcode').on('change', function() {
    $('#postcode-card').removeClass('card--danger');
});
或者当用户专注于输入时

$('#inputPostcode').on('focus', function() {
    $('#postcode-card').removeClass('card--danger');
});

但我认为最好在您在备份的

中验证后将其删除,然后将其放入失败回调中:

$('#inputPostcode').on('change', function() {
    $('#postcode-card').removeClass('card--danger');
});

在发送ajax请求之前,您可以从邮政编码卡中删除这两个类

 $('#postcode-card').removeClass("card--success card--danger");

你试过我的答案了吗?是的,谢谢,我真的很感激,你所有的答案都有效:)如果是无效的邮政编码,最好的办法是在卡片旁边添加一条错误消息——危险?我曾尝试添加一个错误警报,但效果并不理想。最好在输入字段下显示一条错误消息。您可以在输入后添加一个隐藏的div,如果有错误,您可以直接显示它。不管怎样,我建议在stackoverflow中查看关于这个问题的其他答案,或者没有任何新问题,这很好,谢谢你的帮助,我真的很感激。