Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Js代码跳过单击事件后的第一行_Javascript_Jquery - Fatal编程技术网

Javascript Js代码跳过单击事件后的第一行

Javascript Js代码跳过单击事件后的第一行,javascript,jquery,Javascript,Jquery,根据我下面的代码,“处理”不是先追加,而是直接追加“保存”。我试图解决这个问题,但没有发现代码中有什么错误,它不工作,跳过了第一行“处理” $(“#ac#U提交,#另存为#U草稿”)。单击(功能(e){ $('另存为'草稿')。追加('处理'); $('form').find('invalid_field').removeClass('invalid_field'); var验证状态=0; $(“#委托书_字段”).empty(); $('input,textarea,select')。筛选器(

根据我下面的代码,“处理”不是先追加,而是直接追加“保存”。我试图解决这个问题,但没有发现代码中有什么错误,它不工作,跳过了第一行“处理”

$(“#ac#U提交,#另存为#U草稿”)。单击(功能(e){
$('另存为'草稿')。追加('处理');
$('form').find('invalid_field').removeClass('invalid_field');
var验证状态=0;
$(“#委托书_字段”).empty();
$('input,textarea,select')。筛选器('required]')。每个(函数(){
if($(this).filter('[必需]).val()=''){
//console.log($(this.filter('[required]')).attr('name');
$(this).closest('.form group').addClass('has error has danger');
$('ac#u submit')。removeClass('disabled');
$('u#另存为'u草稿')。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=“#'+匹配的_li+'”).addClass('invalid_field');
}否则{
var divId=$(this).closest('.hide_devices').attr('id');
$('li a[div id=“”+divId+“]”)addClass('invalid_field'))
var action\u on\u li=divId.replace(/\d+/g',)
如果(操作i='cloneModBusInput'){
$('#mod__bus').addClass('无效的_字段')
}
如果(操作\u-on\u-li=='cloneSensorInput'){
$('#sen_uusor').addClass('无效字段')
}
如果(操作i='clonedRelayInput'){
$('re#u lay').addClass('invalid_field'))
}
}
$(“#强制_字段”).empty().html(“*缺少必填字段”);
验证状态=1;
$(this.addClass('disabled');
$(this.html(“”+$(this.text()+“”);
e、 预防默认值();
} 
});
如果(验证状态==0){
$(“#委托书_字段”).empty();
$(this.addClass('disabled');
$(this.html('Saving');
}否则{
$(this.addClass('disabled');
$(this.html(“”+$(this.text()+“”);
}
});

请帮助我识别上述代码中的错误。

这是因为您覆盖了“处理”:

$('save#u as_draft')。追加('Processing');
在这里:

$(this.html('Saving');

您的代码同步运行。您要做的是将一个元素附加到一个容器中,然后向下几行用新内容替换同一元素的整个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);
var self=this;
setTimeout(函数(){
如果(验证状态==0){
$(“#委托书_字段”).empty();
$(self.addClass('disabled');
$(self.html('Saving');
}
}, 500);

我们也可以看到html吗?使用html甚至JSFIDLE或类似工具上的演示会容易得多。实际上,它不是保存按钮,但当我单击保存按钮时,它应该首先显示处理并执行进一步的代码,然后转到“保存”,但它作为保存按钮等待几秒钟,然后直接显示“保存”然后形成提交作品
$('#save_as_draft').append('<i class="fa fa-refresh fa-spin"></i> Processing');
 $(this).html('<i class="fa fa-refresh fa-spin"></i> Saving');
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);