获取HTML输入文件对话框结果

时间:2014-01-25 00:44:15

标签: javascript jquery

我一直在尝试为我的网站添加图片上传器,我已经在asp.net mvc中编写了上传器方法。因为我不希望在我的页面中有两个按钮(一个用于浏览,一个用于上载),我决定使用JQuery编写另一个函数来处理它。此时我遇到了必须知道<input type="file />"对话框结果以运行我的上传器的问题。

我的问题是,是否可以在JQuery中检测用户的选择(Open/Cancel)?

我的代码如下所示:

@using (HTML.BeginForm ("Upload", "SomeController", FormMethod.Post, new { enctype = "multipart/form-data" }))
<input type="file" name="file" id="file" class="Hidden" />
<input type="submit" id="upload" class="Hidden" />
}

<button id="UploadIt">Image</button>

和java脚本:

$('#UploadIt').click(function() {
    $('#file').trigger("clcik");
    //now if (dialog result is Open) {$('#upload').trigger("click");}
    // else {Do Nothing}

});

1 个答案:

答案 0 :(得分:1)

在阅读change() event文档(dandavis在评论中提到它)之后,我设法解决了这个问题。但是,如果有人遇到同样的问题,我决定分享我的解决方案。

$('#UploadIt').click(function () {
    $('#file').trigger("click");
    $(":file").change(function () {
        if (this.files[0].size > 0) { Upload(); }
        else { }
    });       
});