0

我正在使用基本的 Blueimp 文件上传插件。

我的 HTML 看起来像:

 <input id="fileupload" class="button-default" type="file" name="files[]" data-url="/php/upload.php" multiple>

还有我的脚本:

function subir(){
    $('#fileupload').fileupload({
        dataType: "json",
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                if(file.error != null){
                    $('#consola').text(file.error);
                };
                myFunction();
            });
        }
    });
};

现在,由于页面有一个菜单,我想隐藏文件输入框并使用菜单项来触发文件上传。

菜单项有一个“item5”类,所以我尝试了:

$('.item5').bind("click", subir);

但是函数 subir 没有被触发。直接与文件输入一起使用时效果很好。

提前感谢您的帮助!

4

1 回答 1

0
<div onclick="uploadForm.upload.click()" style="width: 100px; height: 100px; background: red;"></div>

    <form name="uploadForm">        
        <input name="upload" id="uplaod" type="file" style="display: none"; />
    </form>

几乎所有浏览器都支持这一点。但是当通过将 display 设置为 none 来隐藏输入字段时,opera 确实存在一些问题。

您可以使用 javascript 应用相同的逻辑来使其工作。并将可见性设置为隐藏而不是将显示设置为无。

<div id="menu" style="width: 100px; height: 100px; background: red;"></div>

    <form name="uf">        
        <input name="upload" id="upload" type="file" style="visibility: hidden;" />
    </form>

    <script type="text/javascript">
        document.getElementById("menu").onclick = function (evt) {
            document.getElementById("upload").click();
        }
    </script>
于 2013-10-22T15:39:59.687 回答