我可以自动提交文件上传吗?

时间:2013-12-16 13:05:41

标签: javascript jquery html forms

我想在不提交按钮的情况下方便上传文件。我已设法隐藏文件上传按钮,但我不确定是否可以隐藏提交按钮,并在文件添加到表单时自动提交表单。可以吗?

我的代码是

  <form id="inputForm" role="form" class="marg-left" action="/admin/import" method="post" enctype="multipart/form-data">

        <input id="upload" name="file" type="file"/><a href="" id="upload_link"><div class="navigation-button">
            <div class="navigation-header">Import</div>
            <div class="navigation-desc">Import from tab-separated files on disk </div>
        </div>   </a>
            <input id="submit" type="submit" value="Submit" />
        </form>

CSS

#upload{
    display:none;
}

的Javascript

$(function(){
    $("#upload_link").on('click', function(e){
        e.preventDefault();
        $("#upload:hidden").trigger('click');
    });

5 个答案:

答案 0 :(得分:3)

试试这个:

document.getElementById("file").onchange = function() {
    document.getElementById("form").submit();
};

<强> Demo

答案 1 :(得分:2)

您需要收听change事件。

$("#upload:hidden").on('change', function(){
    $('#inputForm').submit();
});

答案 2 :(得分:1)

是的,可以这样做。试试这个:

    <input id="upload" name="file" type="file" onchange="this.form.submit();"/>

答案 3 :(得分:1)

$(function(){
    $("#upload_link").on('click', function(e){
        e.preventDefault();
        $("#upload:hidden").trigger('click');
    });
    $("#upload:hidden").on('change', function(e){
        e.preventDefault();
        //submit form
        $('#inputForm').submit();
    });
});

答案 4 :(得分:-2)

您可以使用以下JQuery提交表单:

$('inputForm').submit() 

完整答案可以在这里找到:jQuery auto upload file