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

news/2024/11/9 0:27:19 标签: easyui, javascript, html

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.niftyadmin.cn/n/5744628.html

相关文章

A019基于SpringBoot的校园闲置物品交易系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

PHP静默活体识别API接口应用场景与集成方案

随着人工智能和生物识别技术的飞速发展&#xff0c;静默活体识别&#xff08;Liveness Detection&#xff09;作为一种全新的身份验证方式&#xff0c;正逐渐成为各行各业安全防护的核心技术之一。翔云静默活体识别接口通过精准的生物特征检测&#xff0c;利用深度学习算法判断…

HDFS和HBase跨集群数据迁移 源码

HDFS集群间数据迁移&#xff08;hadoop distcp&#xff09; hadoop distcp \ -pb \ hdfs://XX.14.36.205:8020/user/hive/warehouse/dp_fk_tmp.db/ph_cash_order \ hdfs://XX.18.32.21:8020/user/hive/warehouse/dp_fksx_mart.db/HBase集群间数据&#xff08;hbase ExportSnap…

卷径计算(材料长度和卷径关系MATLAB曲线拟合工具箱应用介绍)

卷径在收放卷控制里非常重要,常用的卷径计算方法大家可以参考下面文章链接: 卷径计算(线材卷绕)_通过线速度如何计算卷径-CSDN博客文章浏览阅读1k次。本文介绍了在PLC控制中,线径计算的重要性和常用方法,包括线径累加法和SCL代码实现。文章详细阐述了线缆卷绕时的卷径预估…

ArkTs(ts)高级语法

1、类的使用&#xff0c;因为是包含的ts&#xff0c;所以挺多地方和ts相同 export class Test {private name: string;private age: number;constructor(name: string, age: number) {this.name name;this.age age;}public getName(): string {return this.name;}public getA…

Python并发编程库:Asyncio的异步编程实战

Python并发编程库&#xff1a;Asyncio的异步编程实战 在现代应用中&#xff0c;并发和高效的I/O处理是影响系统性能的关键因素之一。Python的asyncio库是专为异步编程设计的模块&#xff0c;提供了一种更加高效、易读的并发编程方式&#xff0c;适用于处理大量的I/O密集型任务…

day53 图论章节刷题Part05(并查集理论基础、寻找存在的路径)

并查集理论基础 基础内容 并查集常用来解决连通性问题&#xff0c;主要有两个功能&#xff1a; 将两个元素添加到一个集合中判断两个元素在不在同一个集合 将三个元素A&#xff0c;B&#xff0c;C &#xff08;分别是数字&#xff09;放在同一个集合&#xff0c;其实就是将…

吉时利2450(keithley)2450数字源表 详情资料参数

Keithley 2450 是 Keithley 最新一代 (2013) SourceMeter 源测量单元 (SMU) 仪器&#xff0c;真正让欧姆定律&#xff08;电流、电压和电阻&#xff09;测试触手可及。其创新的图形用户界面 (GUI) 和先进的电容式触摸屏技术可实现直观使用并最大限度地缩短学习曲线&#xff0c;…