【问题标题】:JQuery validator - change response colourJQuery 验证器 - 更改响应颜色
【发布时间】:2015-06-29 09:32:27
【问题描述】:

我正在使用 JQuery 验证器插件。我有一个提交处理程序,如下所示:

submitHandler: function (form) {
    $.ajax({
        type: "POST",
        url: "php/process.php",
        data: {
            'emailAddress': $("#emailAddress").val(),
        },
        dataType: "json"
    }).done(function (response) {
            if(response[1] == 'Rejected'){
                $('#spanOne').addClass('red');
            }
            if(response[1] == 'Approved'){
               $('#spanOne').addClass('green');
            }
            if(response[3] == 'Rejected'){
               $('#spanTwo').addClass('red');
            }
            if(response[3] == 'Approved'){
               $('#spanTwo').addClass('green');
            }

            if(response[0] == 'F'){
                $('#spanOne').html('Your email has been ' + response[1]);
            }
            else{
                $('#spanOne').html(response[0] + ' has been ' + response[1]);
            }
            if(response[2] == 'F'){
                $('#spanTwo').html('Your mobile number has been ' + response[3]);
            }
            else{
                $('#spanTwo').html(response[2] + ' has been ' + response[3]);
            }
    });
    return false;
}

现在第一个问题是我的 done 函数对我来说似乎很乱。基本上,我没有发布所有代码,但我的回复是以下形式:

["F", "Rejected", "07364928374", "Approved", "ABC123"]

基本上,如果位置 1 被拒绝,我需要 spanOne 是红色的,否则它应该是绿色的。同样适用于位置 3。

我也有一个 invalidHandler,它做与上述类似的事情。有点用,如果我输入无效的电子邮件,它会显示为红色。但是,如果我随后提交了一封有效的电子邮件,虽然它显示已批准,但它仍保持红色。所以看起来 done 功能没有更新?从本质上讲,它似乎只在第一次提交时才真正起作用。

我怎样才能改进它以使其始终有效?

谢谢

【问题讨论】:

  • 请同时显示您的 HTML!

标签: javascript jquery ajax validation


【解决方案1】:

根据您的描述,我猜您在提交无效数据时添加了red 类,但在再次提交时不会将其删除。因此,即使添加了 green 类,red 类仍然存在并且可能会覆盖它。

提交时第二次检查您的电子邮件字段。它是否同时具有 redgreen 类?如果是这样,请在done 回调的最顶部添加以下内容:

$('#spanOne, #spanTwo').removeClass('red green')

【讨论】:

    猜你喜欢
    • 2011-04-17
    • 2012-01-27
    • 2019-07-03
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多