根据我的以下代码,“处理”不首先附加,而是直接附加“保存”。我尝试解决这个问题,但是在我的代码中没有弄错,它没有工作并跳过第一个“处理”行。
$('#ac_submit,#save_as_draft').click(function (e) {
$('#save_as_draft').append('<i class="fa fa-refresh fa-spin"></i> Processing');
$('form').find('.invalid_field').removeClass('invalid_field');
var validation_status = 0;
$('#mandate_field').empty();
$('input,textarea,select').filter('[required]').each(function(){
if($(this).filter('[required]').val() == ''){
// console.log($(this).filter('[required]').attr('name'));
$(this).closest('.form-group').addClass(' has-error has-danger');
$('#ac_submit').removeClass('disabled');
$('#save_as_draft').removeClass('disabled');
if($(this).closest('.hide_devices').hasClass('show_panel') == true){
$('#panel').addClass('invalid_field');
var matched_li = $(this).closest('div[id^="tab_"]').attr('id');
$('li a[href="#'+matched_li+'"]').addClass('invalid_field');
} else {
var divId = $(this).closest('.hide_devices').attr('id');
$('li a[div-id="'+divId+'"]').addClass('invalid_field')
var action_on_li = divId.replace(/\d+/g, '')
if(action_on_li == 'cloneModBusInput'){
$('#mod__bus').addClass('invalid_field')
}
if(action_on_li == 'cloneSensorInput'){
$('#sen__sor').addClass('invalid_field')
}
if(action_on_li == 'clonedRelayInput'){
$('#re__lay').addClass('invalid_field')
}
}
$('#mandate_field').empty().html('* Mandatory fields are missing');
validation_status = 1;
$(this).addClass('disabled');
$(this).html('<i class="fa fa-save"></i> '+$(this).text()+'');
e.preventDefault();
}
});
if(validation_status == 0){
$('#mandate_field').empty();
$(this).addClass('disabled');
$(this).html('<i class="fa fa-refresh fa-spin"></i> Saving');
} else {
$(this).addClass('disabled');
$(this).html('<i class="fa fa-save"></i> '+$(this).text()+'');
}
});
请帮我识别上述代码中的错误。
答案 0 :(得分:2)
您的代码同步运行。你所做的是将一个元素附加到一个容器,然后用几行代替用新内容替换同一元素的整个html内容。结果就是你所描述的内容。
如果您想查看之前的内容半秒钟,请执行以下操作:
var self = this;
setTimeout(function () {
if (validation_status == 0) {
$('#mandate_field').empty();
$(self).addClass('disabled');
$(self).html('<i class="fa fa-refresh fa-spin"></i> Saving');
}
}, 500);
答案 1 :(得分:0)
那是因为你覆盖了你的“处理”:
<script src="scrypt.js" type="text/javascript"></script>
下面:
$('#save_as_draft').append('<i class="fa fa-refresh fa-spin"></i> Processing');