精华内容
下载资源
问答
  • 第一次上传物料excel按钮弹出弹窗上传文件成功后,在点上传物料excel按钮,layer不弹出了
  • 页面提交成功后,弹窗提示

    千次阅读 2019-08-09 15:23:18
    因为要求提交成功后返回弹窗,本来用的是@ResponseBody ,直接输出的成功 但是不好看嘛,所以用下图这样的 我自己想了个方法,不知道有没有更好的。 写了个div隐藏,页面加载默认传一个model叫msg,将msg的值...

    因为要求提交成功后返回弹窗,本来用的是@ResponseBody ,直接输出的成功

    但是不好看嘛,所以用下图这样的

    我自己想了个方法,不知道有没有更好的。

    写了个div隐藏,页面加载默认传一个model叫msg,将msg的值写入div的text

    <div th:text="${msg}" id="msg" style="display:none">
                    </div>

    然后js控制加载完成后是否为默认传值,不是默认传值就弹窗(我传了个a诶),可以不传,把a改为"" 就行

    $(document).ready(function(){
            //alert("sssss");
            // var msg = document.getElementById("msg");
            // var message = msg.text;
            var message2=$("#msg").html();
    
            if(message2!="a") {
                alert(message2)
            }
    
        })

    点完提交就返回本页面,顺便传个model,这个样子,把msg改为你想传的值

    @GetMapping("/form")
        public String form(Model model) {
            List<Xi> list= majorService.findAllXi();
    
            model.addAttribute("all_xi", list);
            model.addAttribute("msg","a");
            return "student/form_student";
        }

     

    展开全文
  • 最近在工作中遇到一个上传文档的需求,用elementUI组件没有上传文件夹功能,只有上传文档功能,在开发过程中遇到如下几个问题,在此总结一下。 1、input框支持上传文件夹,必须要在input标签添加webkitdirectory...

    最近在工作中遇到一个上传文档的需求,用elementUI组件没有上传文件夹功能,只有上传文档功能,在开发过程中遇到如下几个问题,在此总结一下。

    1、input框支持上传文件夹,必须要在input标签添加webkitdirectory属性。(上传文件夹功能不是所有浏览器都支持)

    <input type="file" webkitdirectory />

    2、项目需求:第一次点击长传文件夹长传成功之后,第二次点击给出提示框,只能长传一次。在这里我一开始的思路是input触发的onchange事件,去onchange事件监听阻止掉默认行为,后来才发现点击input框之后,给的上传文件夹弹窗是在click事件的时候触发的,所以想要阻止掉浏览器弹窗,就在input标签上绑定一个click事件,在click事件中阻止浏览器默认行为,弹窗就不会出现。以下代码是以vue框架为基础写的。

    1)在input标签绑定一个click事件

    <input type="file" webkitdirectory @click="fileUploadCheck">

    2)在methods里面给这个方法做出相应的校验,满足需求阻止浏览器默认行为

    fileUploadCheck(){
         // .....根据项目需求做校验,满足条件阻止浏览器默认行为
         if(e&&e.preventDefault) {
           e.preventDefault();
         }
    
       }

    3、如果想要阻止elementUI的上传文档组件的弹窗,我们还得通过JS获取到input元素,给他添加一个click事件。在这里我遇到一个问题是,通过原生JS给元素绑定事件,在if判断里不能移除此次事件,上传文档的弹窗被阻止之后,就一致被阻止掉。我想要条件允许时,给这个弹窗又可以出现。最终我给他添加绑定事件的时候,下一句代码就移除这个事件。

     fileUploadCheck(){
          let inputFile = document.getElementById('inputfile') //获取到input框
          let hanle = function(event){  //阻止浏览器默认事件
            if(event.preventDefault && event){
              event.preventDefault()
            }
          }
          if(!this.flag){ //此变量是判断是否已经上传文件
            inputFile.addEventListener('click',hanle,false)  //满足条件给input绑定事件
            this.$message('文档和文件夹只能上传一次')
            setTimeout(function(){
              inputFile.removeEventListener('click',hanle,false)  //移除事件
            },500)
          }else {
            //如果将 inputFile.removeEventListener('click',hanle,false)写在else,不能移除hanle事件
          }
        }

     

     

     

    转载于:https://www.cnblogs.com/chip-gan/p/11258908.html

    展开全文
  • React Antd Upload上传文件前弹窗询问

    千次阅读 2020-03-30 11:17:25
    React Antd Upload上传文件前弹窗询问1、导入Upload组件2、使用Upload组件3、配置Upload组件 1、导入Upload组件 Import { Upload } from ‘antd’ 别问react中怎么配置antd,问就是不知道,只是听说可以使用 $ npm ...

    React Antd Upload上传文件前弹窗询问

    1、导入Upload组件

    Import { Upload } from ‘antd’
    别问react中怎么配置antd,问就是不知道,只是听说可以使用
    $ npm install antd –save 或者 $ yarn add antd

    2、使用Upload组件

    <Upload { …props }>
        <Button>导入数据</Button>
    </Upload>
    

    Upload组件包裹着Button按钮,点检Button就可以触发文件选择框,就是下图这东西。
    在这里插入图片描述
    props变量是用来配置Upload组件,比如上传文件要用哪个接口,上传要携带的参数之类的。
    前面的三个点…,别问,问就是ES6语法中的扩展运算符,就照着antd官方文档来用吧,我也不懂。

    3、配置Upload组件

    const props = {
        name: 'file',    //发到后台的文件参数名,好像后端会让前端传一个参数file,用来获取文件数据,就这东西
        action: '/a/b/c/',  //上传的地址,在我眼里就是上传文件的接口
        /*设置上传的请求头部,IE10 以上有效。 
        请求需要带的鉴权信息,放在headers里,看后端怎么写吧,具体为啥的我也不懂*/
        headers: {
            Authorization: localStorage.getItem('token') || null
        },
    
        /*重点 重点 重点,总要的事情说三遍
        beforeUpload:上传文件之前的钩子,参数为上传的文件,若返回 false 则停止上传。
        支持返回一个 Promise 对象,Promise 对象 reject 时则停止上传,
        resolve 时开始上传( resolve 传入 File 或 Blob对象则上传 resolve 传入对象)。注意:IE9 不支持该方法。
        = = 官方人话我这个菜鸡真的看不懂。我就知道下面可以这么干*/
        
        beforeUpload: (file, fileList) => {    //选择文件后,上传文件前的操作
            return new Promise(                 //返回一个Promise对象
                function (resolve, reject) {
                
                    /*应该跳出的弹窗,图在下面,因为antd的Modal.confirm自带两个按钮,对应onOk操作和onCancel操作。
                    当时我想有三种情况,就在弹窗中加了个按钮*/
                    
                    Modal.confirm({
                        title: '是否使用损耗比',
                        content:
                    
                            /*点击‘取消上传‘,触发reject(),用来取消上传,(我试了试,不加这个reject()好像也可以)
                            Modal. destroyAll()是用来注销所有弹窗的。
                            前面说了,Modal.confirm自带两个按钮,这两个按钮都会让弹窗关闭,
                            但是当时我想加入第三种情况的时候,我需要手动触发注销函数。*/
                            
                            < Button onClick={() => { reject(); Modal.destroyAll() }} > 取消上传</Button >,
                        okText: '使用',
                        cancelText: '不使用',
                        
                        /* Modal.confirm自带两个的按钮,会触发resolve(),
                        文件就能顺利上传。没有resolve()没触发,文件是不会上传的*/
                        
                        onOk: () => {
                            that.setState({ withLossRatio: 1 })
                            resolve()
                        },
                        onCancel: () => {
                            that.setState({ withLossRatio: 0 })
                            resolve()
                        }
                    })
                })
        },
        
        /*上传文件改变时的状态,在上传中,上传完,上传失败时都会触发。
        主要使用上传成功的情况,毕竟传完了总要跟更新一下数据,info具体长什么样可以自行输出看看。重点不是这个*/
        
        onChange: info => {
            let that = this;
            if (info.file.status === 'done') {
                message.success('上传成功');
            } else if (info.file.status === 'error') {
                message.warn('上传失败');
            }
        }
    };
    
    展开全文
  • 步骤二 步骤二:出现选择弹窗---选中后接步骤三 步骤三:在确定选取的文件后出现二次...点击确认 手动上传成功 <template> <div> <h4>临时文件</h4> <el-table :data="gro...
    步骤一:点击导入用户 ---->步骤二

     

    步骤二:出现选择弹窗---选中后接步骤三
    步骤三:在确定选取的文件后出现二次确认弹窗

     点击取消后取消上传文件。点击确认 手动上传成功

    <template>
        <div>
            <h4>临时文件</h4>
            <el-table :data="groupList" style="width: 100%">
                <el-table-column prop="name" label="分组名称"></el-table-column>
                <el-table-column prop="total" label="用户数"></el-table-column>
                <el-table-column prop="remark" label="备注">
                    <template slot-scope="scope">
                        <span v-if="scope.row.remark == ''||scope.row.remark == null">
                            -
                        </span>
                        <span v-if="scope.row.remark !='' || scope.row.remark != null">
                            {{scope.row.remark}}
                        </span>
                    </template>
                </el-table-column>
                <el-table-column prop="createTime" label="创建时间"></el-table-column>
                <el-table-column label="操作">
                    <template slot-scope="scope">
                           <el-upload class="upload-test" :action="uploadUrl()"
                                accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                                :limit="1"
                                :show-file-list = "false"
                                :file-list="fileList"
                                ref="upload"
                                :on-preview="handlePreview"
                                :on-exceed="exceedHander"
                                :before-upload="beforeAvatarUpload"
                                :auto-upload="false"
                                :on-change="testOnchange"
                                :before-remove="handleRemoveHook"
                                :on-success="handleSuccess">
                            <!-- <el-button size="small" v-if="fileList == ''">选取文件</el-button> -->
                            <span class="cur"  @click="importUser(scope.$index, scope.row)">导入用户</span>
                        </el-upload>
                    </template>
                </el-table-column>
            </el-table>
            <!-- 导入用户 弹窗二次确认 -->
            <el-dialog title="导入Excel" :visible.sync="importUserDialog" width="550px"  :close-on-click-modal="false" :before-close="handleFirst1">
                <span v-if="fileList != ''" class="info-message">确认导入 “ {{fileList[0].name}} ” , oppenid相同会直接被覆盖</span>
                <span slot="footer" class="dialog-footer">
                    <el-button @click="handleFirst1">取 消</el-button>
                    <el-button type="primary" @click="handleConfimr">确 定</el-button>
                </span>
            </el-dialog>
        </div>
    </template>

     

    <script>
    const request = require('superagent');
    export default {
        data(){
            return{
                listId:'',
                fileList:[],
                importUserDialog:false,
                pageNum:1,
                pageSize:10,
                groupList:[],
            }
        },
        created(){
            // 获取会员列表
            // console.log(request)
           
        },
        mounted(){
            this.getVipList();
        },
        methods:{
            getVipList(){
                const that = this;
                request
                    .get('/api')//获取数据接口
                    .query({pageNum:that.pageNum})
                    .query({pageSize:that.pageSize})
                    .end(function(err,res){
                        if(err || !res.ok){
                            alert('oh on ! error')
                        }else{
                            // console.log(res)  
                            that.groupList = res.body.data.fieldList
                        }
                    })
            },
            importUser(index,row){
                this.listId = row.id;
                // this.importUserDialog = true;
            }, 
            uploadUrl(){//动态改变上传地址
                return(
                    "项目接口规定单词/" +  this.listId + "/接口规定单词" //接口拼接起来的this.listId为动态数据
                )
            },
            handlePreview(file){},
            exceedHander(){
                this.$message.warning('请勿上传多个文件')
        },
            beforeAvatarUpload(file){
                console.log('上传前');
                const Xls = file.name.split('.');
                const isLt2M = file.size / 1024 / 1024 < 10;
                console.log('1');
                if(Xls[1] === 'xls'|| Xls[1] === 'xlsx'){
                    return file;
                }else{
                    this.$message.error('上传文件只能是 xls/xlsx 格式')
                    return false
                }
                if(!isLt2M){
                    this.$message.error('上传模板大小不能超过 10MB')
                    return false;
                }
            },
            // 文件状态改变
            testOnchange(file, fileList){
                this.fileList = fileList;
                if(this.fileList.length != 0){
                    this.importUserDialog = true;
                }else{
                    this.importUserDialog = false;
                }
            },
            handleRemoveHook(file,fileList){},
            handleConfimr(){ 
                this.$refs.upload.submit();
                this.importUserDialog = false;
            },
            handleSuccess(response, file, fileList){
                console.log('上传成功');
                if(response.code == 200){
                    setTimeout(() =>{
                        this.$message.success('文件上传成功');
                        this.getVipList();
                    },2000);
                    fileList.splice(0);//上传成功后将fileList清空,不影响下一次上传
                }else{
                    this.$message.error(response.message)
                }
            },  
            handleFirst1(){
                this.fileList.splice(0);
                this.importUserDialog = false;
                this.$message.info('已取消上传');
            },
        }
    }
    </script>

     

    展开全文
  • layui 弹窗实现文件上传

    千次阅读 2020-04-01 18:51:01
    html界面(主界面隐藏,弹窗中显示) <div id="file_upload_div" style="display: none" class="text-center"> <div class="layui-upload-drag" id="test10"> <i class="layui-icon"></i>...
  • layer弹窗上传文件,loading

    千次阅读 2019-01-04 10:40:40
    layer.alert('上传成功', { skin: 'layui-layer-molv' //样式类名 ,closeBtn: 0 }, function(){ location.reload(); }); // location.reload(); // 页面刷新 return false }, error:function (res) { ...
  • boxLabel : "您上传的证件图片不完整,请重新上传,请耐心等待图片加载完整后再提交" } ] } ], buttonAlign : "right", buttons : [ { text : "保存", ...
  • 对之前的二维码解码器做的功能扩展, 增加上传成功时弹框显示二维码图片预览,弹框使用vant ui 实现 vanr ui 文档地址 https://youzan.github.io/vant/#/zh-CN/intro 首先安装 qrcode-decoder npm install qrcode-...
  • layer弹窗

    2018-07-19 18:41:03
    第二个BUG接踵而来了,上传图片成功之后又是有提示信息,和上面差不多的情形。 layer.alert( '上传成功',function(idx){  form1.action=$("#backUrl").val(); form1.submit(); } );   layer的alert弹窗...
  • 在用selenium进行自动化测试的时候,会碰到上传弹窗的问题,例如要你上传本地文件或者本地图片,例如这种弹窗。 这就是本地上传弹窗。接下来我们就看看如何处理它吧。 第一种方法:sendkeys 当你要上传图片的前端...
  • fastadmin实现弹窗

    万次阅读 2019-01-29 17:27:03
    一:点击列表某按钮实现弹窗 如下图: 1、第一步:增加方法,如addname() /** * 添加字段和注释 * @param unknown $ids * @return mixed */ public function addname($ids = NULL) { if (Request::...
  • 一、JSP代码 &lt;input type="text" id="show"&gt;&lt;input type="file" id="...上传&lt;/button&gt; 二、JS代码(上传后在线点击预览)
  • 最新华为EMUI 11.0.0 Mate40和Mate30成功安装Google play及谷歌套件的(附带解决谷歌弹窗)方法 有很多在国内的朋友,因为工作、生活、娱乐等方面需要用到谷歌的相关服务,而国内最新的EMUI系统屏蔽了谷歌框架及服务...
  • 功能需求:TP5框架,layui前端框架,在弹窗中实现文件上传的功能 部分html代码 <form class="layui-form" style="padding:15px;"> <div class="layui-form-item"> <label class="layui-form-...
  • 今天在项目中遇到一个棘手的问题,在上传附件的时候,window弹窗,第一次的时候是正常的,win.hide() 后,第二次fieldLabel值会重复显示,如下图: 因为window窗口中只有“附件”重复了,“备注”字段没有重复,...
  • 记一次 selenium 处理浏览器证书弹窗的经历

    千次阅读 热门讨论 2019-07-04 17:32:14
    经过一番思考后成功解决,且方法极为简单可靠,具体代码在最后。 先看下这个疑难问题: 访问一个内部平台登陆页面, 然后弹出证书弹窗: 必须点击确定按钮。否则无法继续加载登陆页面 手动点击一次之后,关浏览器下次...
  • 文件上传成功"); return "uploading success"; } public void uploadFile(byte[] file, String filePath, String fileName)throws Exception{ File targetFile = new File(filePath); if (!...
  • 支持默认图片,上传中的状态,最大上传数量,预览大图等功能 import React, { Component } from "react"; import { StyleSheet, View, Text, Image, TouchableOpacity, Modal, Platform } from "react-...
  • 一个自定义确认取消类型的dialog,可自行修改样式,本篇只列出用法,源码需要到我上传的资源里面去下载,后期有时间继续拓展功能. new CommomDialog(MainActivity.this, "确认退出吗?", new CommomDialog....
  • 弹窗js库文件

    2014-11-17 15:48:32
    在blog中弹窗js代码用到的工具-博客URL: http://blog.csdn.net/j_ijava
  • Selenium关闭windows系统弹窗 背景:在使用某业务时,会弹出windows框 提示要打印某个文本,效果如下,而正常脚本执行完了后,关闭了driver,windows的弹框还是不会消失,这时需要做善后工作,关掉window弹框: ...
  • 上面的步骤完成即可成功引入, 接下来直接上cropper原文件代码之所以上插件代码, 是因为插件我修改过了的 /*! * Cropper v3.0.0 */ layui.config({ base: '/public/static/ext/cropper/' //la.
  • 弹窗渗透实验

    千次阅读 2017-09-02 23:51:09
    但是数据库被降权,权限不高,现在我把ms15-051的exp上传到自己的服务器,用powershell的远程加载并执行exe的脚本执行这个exp 首先下载powershell的这个脚本...
  • //弹窗 function open(id){ var level = $("#level").val();//参数传给iframe界面查询使用 //由于是弹出的面板,所以要自己写一个jsp(一个单独的查询界面嵌入iframe) top.$.jBox.open("iframe:xx/...
  • 1:confim类型使用方法 layui.use('layer', function(){ layer.confirm('是否立即上传卷宗信息?', { btn: ['是','否'], time: 200000, //20s后自动关闭 },function(index){ ...
  • 弹出页面的代码 html代码 ..."> i> 点击上传,或将文件拖拽到此处p> <div class="layui-hide" id="uploadDemoView"> <hr> 上传成功后渲染" style="max-width: 196px"> div> div> div> <div class="layui-form-item"> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,923
精华内容 2,769
关键字:

上传成功的弹窗