请帮我用html输出替换一些javascript

时间:2012-05-09 23:33:18

标签: javascript mailchimp

我的页面上有一个Mailchimp电子邮件注册表单。当成功或失败的注册发生时,它会从javascript库中获取成功/失败消息。

我想阻止它抓取默认消息(我不能编辑,因为我认为它们存在于Mailchimp的服务器上)并用我自己的消息替换它们。你能帮忙吗?

以下是相关功能:

function mce_success_cb(resp){
$('#mce-success-response').hide();
$('#mce-error-response').hide();
if (resp.result=="success"){
    $('#mce-'+resp.result+'-response').show();
    $('#mce-'+resp.result+'-response').html(resp.msg);
    $('#mc-embedded-subscribe-form').each(function(){
        this.reset();
    });
} else {
    var index = -1;
    var msg;
    try {
        var parts = resp.msg.split(' - ',2);
        if (parts[1]==undefined){
            msg = resp.msg;
        } else {
            i = parseInt(parts[0]);
            if (i.toString() == parts[0]){
                index = parts[0];
                msg = parts[1];
            } else {
                index = -1;
                msg = resp.msg;
            }
        }
    } catch(e){
        index = -1;
        msg = resp.msg;
    }
    try{
        if (index== -1){
            $('#mce-'+resp.result+'-response').show();
            $('#mce-'+resp.result+'-response').html(msg);            
        } else {
            err_id = 'mce_tmp_error_msg';
            html = '<div id="'+err_id+'" style="'+err_style+'"> '+msg+'</div>';

            var input_id = '#mc_embed_signup';
            var f = $(input_id);
            if (ftypes[index]=='address'){
                input_id = '#mce-'+fnames[index]+'-addr1';
                f = $(input_id).parent().parent().get(0);
            } else if (ftypes[index]=='date'){
                input_id = '#mce-'+fnames[index]+'-month';
                f = $(input_id).parent().parent().get(0);
            } else {
                input_id = '#mce-'+fnames[index];
                f = $().parent(input_id).get(0);
            }
            if (f){
                $(f).append(html);
                $(input_id).focus();
            } else {
                $('#mce-'+resp.result+'-response').show();
                $('#mce-'+resp.result+'-response').html(msg);
            }
        }
    } catch(e){
        $('#mce-'+resp.result+'-response').show();
        $('#mce-'+resp.result+'-response').html(msg);
    }
}

}

1 个答案:

答案 0 :(得分:1)

我认为无论你在哪里看到类似的东西:

$('#mce-'+resp.result+'-response').html(msg);

您希望根据逻辑中的位置将msg部分替换为相关文本。所以你发布的代码中的第一个(第6行)是success = true,所以替换

$('#mce-'+resp.result+'-response').html(resp.msg);

类似

$('#mce-'+resp.result+'-response').html('Successfully signed up');