input file检验成功之后才可以点击

news/2024/11/8 15:33:24/

input file检验成功之后才可以点击

需求

在上传发票前需要先填写发票号,然后点击选择文件直接完成上传功能
在这里插入图片描述

实现思路

在没有输入发票号之前,file按钮不可用不能点击,输入之后,按钮可用,点击之后选择文件,选择文件之后直接完成上传

html_8">html代码

有一个文本框

html"><div id="uploadFrom" class="html" title=easyui>easyui-dialog" title="上传发票" data-options="iconCls:'icon-save',closed: true,modal: true," style="width:400px;height:200px;padding:10px"><div style="margin-bottom: 20px;">发票号码:<input type="text" id="spuId" name="spuId" class="html" title=easyui>easyui-textbox" data-options="require:true"/></div><div><input type="file" id="fileInput" accept="image/*,.pdf" onchange="uploadFile()" disabled/> <!-- 隐藏文件输入框 --></div></div>

js代码

html" title=javascript>javascript">/*** 页面加载立即执行查询*/
$(document).ready(function () {check();
});/*输入检查*/
function check(){let input = $('#spuId');let fileInput = $('#fileInput');input.textbox('textbox').bind('keyup', function(e){let val = input.textbox('textbox').val()if(val === ''){fileInput.attr("disabled","disabled")}else{fileInput.removeAttr("disabled")}});
}/*上传文件*/
function uploadFile() {let fileInput = document.getElementById('fileInput');let file = fileInput.files[0]; // 获取文件let spuId = $("#spuId").val();let businessId = $("#businessId").val();$.messager.progress();if (file) {let formData = new FormData();formData.append('file', file); // 将文件添加到 FormData 对象中formData.append('spuId',spuId)formData.append('businessId',businessId)formData.append('businessType','16')// 发送 AJAX 请求上传文件$.ajax({url: '${ctxBase}/common/file/upload',type: 'POST',data: formData,contentType: false,processData: false,success: function(response) {initFileTable()$.messager.alert('提示', '上传成功!', 'success');updateInvoiceNo(businessId);$.messager.progress('close');},error: function(jqXHR, textStatus, errorThrown) {$.messager.alert('提示', '上传失败!', 'error');$.messager.progress('close');}});} else {$.messager.alert('提示', '请上传文件!', 'info');$.messager.progress('close');}
}

这里使用的是html" title=easyui>easyui-textbox,如果使用input 可以使用以下方法监听

html" title=javascript>javascript">function check(){let input = $('#spuId');let fileInput = $('#fileInput');input .addEventListener('keyup', function() {let val = input.val()if(val === ''){fileInput.attr("disabled","disabled")}else{fileInput.removeAttr("disabled")}});
}

这样就只有我们输入正确的发票之后,选择文件才能点击
在这里插入图片描述
如果大家有更好的方法欢迎留言讨论


http://www.ppmy.cn/news/1545390.html

相关文章

深度学习(十):伦理与社会影响的深度剖析(10/10)

深度学习&#xff1a;伦理与社会影响的深度剖析 一、深度学习的伦理挑战 &#xff08;一&#xff09;数据隐私之忧 深度学习模型的训练往往需要大量数据&#xff0c;而数据的收集过程可能会侵犯个人隐私。例如&#xff0c;据统计&#xff0c;面部识别技术在全球范围内每天会收…

【算法】【优选算法】双指针(下)

目录 一、611.有效三⻆形的个数1.1 左右指针解法1.2 暴力解法 二、LCR 179.查找总价格为目标值的两个商品2.1 左右指针解法2.2 暴力解法 三、15.三数之和3.1 左右指针解法3.2 暴力解法 四、18.四数之和4.1 左右指针解法4.2 暴力解法 一、611.有效三⻆形的个数 题目链接&#x…

debian11安装最新rabbitmq

1、使用官网提供系统对应的安装脚本 安装 版本说明&#xff1a; Debian Buster代表Debian 10 Debian Bullseye代表Debian 11 Debian Bookworm代表Debian 12 ‌Debian Trixie代表Debian 13 Debian Sid代表Debian unstable版本 2、新建脚本文件 vim rabbitMq.sh将脚本内容复制到…

python操作CSV和excel,如何来做?

诸如pandas、xlrd、xlwings也可以实现excel的读取&#xff0c;但pandas最简单实用。 使用pandas分三步走&#xff1a; 1、安装python 2、安装IDE比如pycharm、jupyter&#xff08;这里强烈推荐使用jupyter notebook或者lab&#xff09; notebook展示数据很直观&#xff0c;就…

LabVIEW VISA通信常见问题

在工业自动化和测试测量等应用中&#xff0c;使用LabVIEW的VISA函数与设备进行通信时&#xff0c;若发送指令后未能接收数据&#xff0c;以下因素可能是原因&#xff1a; 设备未响应或响应延迟应用示例&#xff1a;例如&#xff0c;在控制测量仪器&#xff08;如电压表&#xf…

深入理解torch.functional.cross_entropy或F.cross_entropy的原理

参考Trying to understand cross_entropy loss in PyTorch的回答&#xff1a; 可知以下两个调用等价&#xff1a; import torch import torch.nn.functional as F x torch.FloatTensor([[1.,0.,0.],[0.,1.,0.],[0.,0.,1.]]) y torch.LongTensor([0,1,2])print(torch.nn.fun…

Hive 的数据类型

基本类型 整型 TINYINT: 1字节整数&#xff0c;范围从 -128 到 127。SMALLINT: 2字节整数&#xff0c;范围从 -32,768 到 32,767。INT: 4字节整数&#xff0c;范围从 -2,147,483,648 到 2,147,483,647。BIGINT: 8字节整数&#xff0c;范围从 -9,223,372,036,854,775,808 到 9…

无人机之中继通信技术篇

一、定义与原理 无人机中继通信技术是指通过无人机搭载中继设备&#xff0c;将信号从一个地点传输到另一个地点&#xff0c;从而延长通信距离并保持较好的通信质量。其原理类似于传统的中继通信&#xff0c;即在两个终端站之间设置若干中继站&#xff0c;中继站将前站送来的信号…