使用给定的表格,我首先点击"选择文件",打开文件,它的名字就在它旁边 然后我点击"上传"按钮"上传图片。我想要做的是点击"选择文件",打开文件,但名称不应出现在它旁边,图片应上传而不点击"上传按钮& #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;
});
});
答案 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();
}
})