Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Ajax Blueimp jQuery文件上载按钮触发_Ajax_Jquery_File Upload - Fatal编程技术网

Ajax Blueimp jQuery文件上载按钮触发

Ajax Blueimp jQuery文件上载按钮触发,ajax,jquery,file-upload,Ajax,Jquery,File Upload,这听起来很简单,但我找不到Blueimp jQuery文件上载的代码示例,它使浏览器的默认文件输入框(显示“选择文件…”并浏览)元素隐藏,而是通过按钮触发对话框。有人能告诉我怎么做吗 我试着将输入元素放入按钮元素中,如中所示,但在Firefox上不起作用。是否有某种方法可以使用jQuery触发对话框。除了“浏览”按钮恰好与Chrome中的按钮对齐,而不是FF中的按钮,我真的不确定为什么这在Chrome中有效 以下是我基本上要做的: 上传图像 听起来你在问一些问题,所以我将尝试解决它们 隐藏默认

这听起来很简单,但我找不到Blueimp jQuery文件上载的代码示例,它使浏览器的默认文件输入框(显示“选择文件…”并浏览)元素隐藏,而是通过按钮触发对话框。有人能告诉我怎么做吗

我试着将输入元素放入按钮元素中,如中所示,但在Firefox上不起作用。是否有某种方法可以使用jQuery触发对话框。除了“浏览”按钮恰好与Chrome中的按钮对齐,而不是FF中的按钮,我真的不确定为什么这在Chrome中有效

以下是我基本上要做的:


上传图像


听起来你在问一些问题,所以我将尝试解决它们

  • 隐藏默认输入-在示例页面上,您可以看到他的CSS负责隐藏默认文件输入元素:

    .fileinput按钮输入{
    光标:指针;
    方向:ltr;
    字体大小:23px;
    保证金:0;
    不透明度:0;
    位置:绝对位置;
    右:0;
    排名:0;
    转换:转换(-300px,0px)刻度(4);
    }

  • 如何触发-至少有两种方法可以做到这一点:

    2.1基本实例化:
    $('#fileupload').fileupload()

    2.2通过绑定到另一事件(在这种情况下为变更事件)的实际方式:

    $(“#某些文件输入字段”).bind('change',函数(e){
    $('#fileupload')。fileupload('add'{
    文件输入:$(此)
    });
    });

    这方面的例子也可以在


  • 将button元素更改为span(并将其样式设置为按钮),就像插件上的一样。

    一旦选择文件,就会开始上传

    $('#fileupload').fileupload({
        dataType: 'json',
        url: '<?php echo base_url(); ?>asset/applicant/blueimp/server/php/',
        add: function (e, data) {
            //Renaming files name
            var count = data.files.length;
            var i;
            for (i = 0; i < count; i++) {
                data.files[i].uploadName =
                    Math.floor(Math.random() * 1000) + '_' + data.files[i].name;
            }
            data.submit();
        }
    });
    

    成功了!但这显然是荒谬的,元素名称应该对此没有影响,而且它是唯一一个有此缺陷的FireFox。它需要被称为bug。
    $('#fileupload').fileupload({
            dataType: 'json',
            url: '<?php echo base_url(); ?>asset/applicant/blueimp/server/php/',
            add:function (e, data) {
               $("#uploadBtn").off('click').on('click',function () {           
                 data.submit();
               });
            }
        });
    
    $(document).ready(function () {
        $('#fileupload').fileupload({
          //....
        });
    });