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

Can I auto-submit a file upload?

本文关键字:文件 提交 我可以      更新时间:2023-09-26

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

我的代码是

  <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');
    });

试试这个:

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

演示

您需要侦听change事件。

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

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

    <input id="upload" name="file" type="file" onchange="this.form.submit();"/>
$(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();
    });
});

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

$('inputForm').submit() 

完整的答案可以在这里找到:jQuery自动上传文件