在图片上传期间删除上传按钮和文件名

时间:2014-05-30 13:56:44

标签: javascript php jquery image-uploading

使用给定的表格,我首先点击"选择文件",打开文件,它的名字就在它旁边 然后我点击"上传"按钮"上传图片。我想要做的是点击"选择文件",打开文件,但名称不应出现在它旁边,图片应上传而不点击"上传按钮& #34;在此之后。如何实现这一目标?

   <div id="image_container" name="image_container">
        <img src="../image/ab.jpg"  alt="Cover" width="900px" height="500px">
        <div class="btn-group" id="cov" name="cov" >
           <button  class="btn dropdown-toggle" data-toggle="dropdown" id="mybtn" onclick="dropdown()">Action</button>
           <ul class="dropdown-menu" id="dropdown-menu" style="display:none">
<!-- dropdown menu links -->
            <li><form action="upload.php" method="post" enctype="multipart/form-data" id="MyUploadForm">  
                <input name="ImageFile" id="imageInput" type="file" />
                <label id="fileup" for="imageInput">Upload File</label>
                <input type="submit"  id="submit-btn" value="Upload" />
                <img src="img/loader.gif" id="loading-img" style="display:none;" alt="Please Wait"/>
                </form>
                <div id="output"></div>
        <li><a href="#">Something else here</a></li>
        <li class="divider"></li>
        <li><a href="#">Another link</a></li>
           </ul>
        </div>
    </div>
$(document).ready(function() { 
    var options = { 
        target: '#output', // target element(s) to be updated with server response 
        beforeSubmit: beforeSubmit, // pre-submit callback 
        success: afterSuccess, // post-submit callback 
        resetForm: true // reset the form after successful submit 
    }; 

    $('#MyUploadForm').submit(function() { 
        $(this).ajaxSubmit(options);            
        // always return false to prevent standard browser submit and page navigation 
        return false; 
    }); 
}); 

5 个答案:

答案 0 :(得分:0)

document.getElementById("imageInput").onchange = function() {
    document.getElementById("MyUploadForm").submit();
};

答案 1 :(得分:0)

怎么样?

<input name="ImageFile" id="imageInput" type="file"
onChange="this.submit();this.visibility='hidden';" />

答案 2 :(得分:0)

选中 Demo Fiddle

如果您使用的是jQuery,

$('#imageInput').change(function(){
    $("#submit-btn").click();          //$('#MyUploadForm').submit();
});

或者只是,

<input name="ImageFile" id="imageInput" type="file" onChange="this.submit();" />

要隐藏文件名,您必须操纵css,或隐藏整个按钮并在其中放置另一个按钮。

答案 3 :(得分:0)

您可以使用label创建自己的上传按钮,只隐藏input本身。

HTML

<form action="#">
  <label for="upload">Pretend Button</lable>
  <input type="file" id="upload" name="image">
</form>

JS

$('#upload').on('change', function () {
  $(this).closest('form').trigger('submit');
});

CSS

input {
  position: absolute;
  top: 0;
  left: -9999px;;
}

这是一个小型演示:http://jsbin.com/rirupeco/2/edit?html,css,js,output

答案 4 :(得分:0)

也许是一个小的用户体验技巧,也是您的要求的灵感来源:

选择文件并在文件选择窗口中单击“确定”后,应立即上传。没有额外点击提交,由此:

var flag_fileSelection = false;

$("#element").click(function(){
    flag_fileSelection = true;
})

$(window).focus(function(){
    if (flag_fileSelection) {
        flag_fileSelection = false;

        // user is done choosing files
        $("#form").submit();

    }   
})