解决layui二次上传没有反应问题

解决layui上传文件第一次上传成功之后,留在当前页面,第二次点击无效问题:
`问题:layui,upload组件上传之后,当前页面再次点击无效
解决:这个上传是在script中的,通过监听调用button即可解决

上传文件
	table.on('toolbar(testable)', function(obj) {
	var data = obj.data;
	 switch (obj.event) {

                case 'uploadFileTestable':
                    $("#uploadFile-button").click();
                    break;
                case 'batchDelTestable':
                    batchDelTestable();
                    break;
                case 'freshenTestable':
                    freshenTestable();
                    break;
                case 'downloadTestable':
                    downloadTestable();
                    break;
            }
		
})

//文件上传
var uploadFile = upload.render({
	elem:'#uploadFile-button',
	url:'newsysfile.do?action=saveFile&noticeId=' + noticeId,
	accept:'file',
	 before: function(obj) {

   },
	done:function(res,index,upload){ //上传后的回调
	

	    if(res.code == 0){
	     //do something (比如将res返回的图片链接保存到表单的隐藏域)
		//uploadFile.config.elem.next()[0].value = '';
		alert("123")
		 // this.upload.clearFiles(); //上传成功之后清除历史记录
		//假设code=0代表上传成功
		table.reload('testable');
	 }
	    
	    //文件保存失败
	    //do something
	//假设code=0代表上传成功
		table.reload('testable');
		
	}, 
	 choose: function (obj) {
    
	//假设code=0代表上传成功
		table.reload('testable');
		
	},
	error: function(index, upload){
	
	    //当上传失败时,你可以生成一个“重新上传”的按钮,点击该按钮时,执行 upload() 方法即可实现重新上传
	//假设code=0代表上传成功
		table.reload('testable');
		
	}

})
`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用layuiupload组件进行文件上传的过程中,出现了第二次上传触发上传问题。这个问题的出现可能是由于多种原因引起的。 其中较为常见的原因之一是由于前一次上传文件被缓存,当您尝试重新上传同一个文件时,因为在浏览器的缓存中已经存在该文件,所以上传操作不会被触发。为了解决这个问题,您可以尝试在上传文件时给文件名加上一个时间戳或随机数,这样就可以保证每次上传的文件名称都是唯一的,避免缓存的问题。 另外一个可能原因是您在代码中没有正确地处理错误信息。在进行文件上传的过程中,有可能因为网络问题或其他原因导致上传操作失败,如果此时您没有正确地处理错误信息,那么下一次上传时程序就会自动判断上一次上传成功,而不会调用上传操作。因此,您需要确保上传操作是在上一次上传操作完全结束后再次开始,同时还需要添加合适的错误处理代码来保证上传操作的顺利进行。 最后,如果上述方法没有解决问题,您可以在控制台输出相关信息,检查程序是否在执行中出现了错误和异常。如果出现相关错误和异常,那么您需要去查找并修复它们,才能保证上传操作的正常执行。 ### 回答2: Layui Upload 是一款基于 layui 使用的文件上传组件,可以方便地实现文件的上传和显示,使用灵活简便。在使用layui upload 进行第二次上传时,有时候可能会出现不触发上传的情况。这种情况通常是由于以下几个原因: 一、 文件已上传成功但未返回成功状态码 这种情况通常是由于上传文件过大或者请求超时等因素导致上传文件的返回状态码出现异常,从而导致组件未能获取到上传成功的状态。此时可以在开发者控制台中进行调试,查看返回状态码是否异常。如果确认异常,可以在服务端进行相应的优化,解决上传文件返回状态码的问题。 二、组件被错误配置 在使用 layui Upload 组件时,很容易出现组件配置错误的情况。例如,未正确配置上传地址、文件成功上传后未配置返回消息等问题,都可能导致组件出现不触发上传的情况。针对这种情况,可以仔细查看组件的配置,排除组件配置错误的可能性。 三、文件类型或大小未通过校验 Layui Upload 组件可以对文件进行类型和大小的校验,如果文件不符合规范,组件将会在上传前就拒绝上传文件,从而导致不触发上传问题。在这种情况下,可以检查文件类型和大小是否符合要求,从而解决问题。 总之,Layui Upload 组件不触发上传问题可能是由多种因素导致的,需要开发者进行细致的排查和解决。在使用该组件时需要注意细节和规范,避免出现相关问题。 ### 回答3: 先分析下LayUI Upload 第二次上传触发上传事件的原因,可能存在以下几种情况: 1、上传模式为:多文件上传模式,选择文件时没有弹出文件选择框。这种情况可能是由于JS或CSS文件没有正确引入,或是因为JS脚本中代码出现了错误。 2、第一次上传没有结束就重复上传。原因可能是在上传文件时,在文件上传成功之前,或上传失败之前就尝试进行另一次上传操作,导致第二次上传操作无法触发。 3、没有进行正确的更新和绑定操作。由于layui.upload是一个基于HTML5的上传组件,我们需要在上传成功或失败之后更新form数据,以便在下次上传时读取正确的数据。如果没有进行正确的更新和绑定操作,则可能导致第二次上传触发上传事件。 以上情况可能都会导致LayUI upload 第二次上传触发上传事件,需要针对具体的问题进行排查和解决。 针对以上情况,我们可以采取以下方案进行解决: 1、确保JS或CSS文件正确引入,并在JS脚本中进行正确的初始化操作。 2、上传前需要确保上一次上传已经完全结束,可以通过设置多文件上传模式、开启自动上传等方式,让文件上传过程完全结束,再进行下一次上传操作。 3、上传成功或失败之后需要进行正确的更新与绑定操作,以确保上传数据的正确性和连贯性。 以上方案可以轻松解决LayUI upload 第二次上传触发上传事件的问题,同时也可以有效地提高上传文件的效率和成功率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值