javascript - 如何在 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
是负责提交验证后的数据的部分,提交成功后的返回存储在data
具有两个属性的对象中。data.result
给出提交状态,并data.message
携带要显示的消息div
。thisdiv
有一个类名.form-results
,由对象_result
( _result = $self.find('.form-results')
)指向
下面一行根据data.status
提交后发送的消息改变了div的类并显示
_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'); }
}
});
现在很清楚,获得解决方案并不重要,但理解代码也很重要。
推荐阅读
- windows - 如何在系统关闭时使用 PowerShell 运行一些代码?
- java - ImageIO.write 的写入器无效
- javascript - 通过 php POST 发送的关联数组不完整
- python - 可视化非数值数据;字典到思维导图?
- javascript - Javascript - 根据边缘条件从数组创建嵌套对象
- javascript - Chart.js 错误:您可能需要适当的加载程序来处理此文件类型
- python - 如何在 Python 3 中更新 OrderedDict 中的键值?
- tradingview-api - Pine Editor Trading View 全局变量 每个柱都有一个值
- php - 如何为 Laravel Mailable 包含 HTML 而不是刀片模板?
- node.js - express.js:我如何在 req.session 中存储数据?