如何在 JavaScript 中编辑警报成功提交

how to edit the alert success submission in JavaScript

你好我正在编辑一个网站,那里有表单提交,我使用formspree提交表单(姓名,电子邮件,评论)。然后点击发送按钮。

一切正常,期待成功的警报看起来很奇怪......见下图:

我正在尝试对此进行编辑,但不知道如何操作。我想让它显示“谢谢,你提交成功了!”.

我找到了这部分的 javascript 代码:

// Form Validation !Plugin @v1.0
    NioApp.Plugins.submitform = function () {
        var $form = $('.nk-form-submit');
        
        if( !$().validate && !$().ajaxSubmit ) {
            console.log('jQuery Form and Form Validate not Defined.');
            return true;
        }
        
        if ($form.exists()) {
            $form.each(function(){
                var $self = $(this), _result = $self.find('.form-results');
                $self.validate({
                    ignore: [],
                    invalidHandler: function () { _result.slideUp(400); },
                    submitHandler: function(form) {
                    _result.slideUp(400);
                    $(form).ajaxSubmit({
                        target: _result, dataType: 'json',
                        success: function(data) {
                            var type = (data.result==='error') ? 'alert-danger' : 'alert-success';
                            _result.removeClass( 'alert-danger alert-success' ).addClass( 'alert ' + type ).html(data.message).slideDown(400);
                            if (data.result !== 'error') { $(form).clearForm().find('input').removeClass('input-focused'); }
                        }
                    });
                    }
                });
                $self.find('.select').on('change', function() { $(this).valid(); });
            });
        }
    };
    NioApp.components.docReady.push(NioApp.Plugins.submitform);

和css中的代码:

.alert-success { color: #29cf77; background: #cef5e1; }

.alert-success .close { background: #64e09e; }

.alert-success-alt { background: #39d884; }

.alert-success-alt .close { background: #25b96b; }

谁能给我一些改变的提示?谢谢。

我会抽取题目中javascript的一部分来重点

                    $(form).ajaxSubmit({
                        target: _result, dataType: 'json',
                        success: function(data) {
                            var type = (data.result==='error') ? 'alert-danger' : 'alert-success';
                            _result.removeClass( 'alert-danger alert-success' ).addClass( 'alert ' + type ).html(data.message).slideDown(400);
                            if (data.result !== 'error') { $(form).clearForm().find('input').removeClass('input-focused'); }
                        }
                    });

这部分是ajax部分,负责验证后提交数据,提交成功后的return存储在对象data中,有两个属性。 data.result给出提交状态,data.message携带要在div中显示的消息。这个 div 有一个 class 名称 .form-results,由对象 _result ( _result = $self.find('.form-results'))

指向

下面一行根据data.status修改div的class,显示提交后发送的消息

                            _result.removeClass( 'alert-danger alert-success' ).addClass( 'alert ' + type ).html(data.message).slideDown(400);

因此,要么提交后发送消息,要么根据成功或失败的情况进行简短修改。

如果我们要进行此修改,那么在上面提到的行之前我们添加:

if (data.result !== 'error') {data.message="Thanks, your submission is successful!";}
else { data.message = "Submition failed";}

所以代码变成

                    $(form).ajaxSubmit({
                        target: _result, dataType: 'json',
                        success: function(data) {
                            var type = (data.result==='error') ? 'alert-danger' : 'alert-success';
                             /////////////////////////////////////////////
                             if (data.result !== 'error') {data.message="Thanks, your submission is successful!";}
                             else { data.message = "Submition failed";}
                             //////////////////////////////////////////////
                            _result.removeClass( 'alert-danger alert-success' ).addClass( 'alert ' + type ).html(data.message).slideDown(400);
                            if (data.result !== 'error') { $(form).clearForm().find('input').removeClass('input-focused'); }
                        }
                    });

现在很清楚,获得解决方案并不重要,但理解代码也很重要。