在聚焦文本输入时触发文件选择
Trigger file selection upon focusing text input
因此,目前我的网站由一个文本输入字段组成,我希望在我关注它时立即触发文件浏览器。然后用户选择一个文件,在文本输入中输入文本,然后按提交上传。
我当前的HTML:
<input type="text" placeholder="upload" class="card" id="upload">
<br>
<div class="enter" id="submit-upload">upload</div>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
问题是我找不到启动文件浏览器的方法。我已经尝试了很多方法,从.click()到s,将文本输入放入表单中,以及许多隐藏文件输入的方法。
但我似乎根本无法触发文件输入。
这是浏览器/安全问题吗?因为我所能找到的没有被安全功能阻止的只是将按钮覆盖在文本输入上,这在我的情况下并不起作用。
有线索吗?
使用HTMLElement.click()
$("#upload").focus(function() {
$("#fileToUpload")[0].click()
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" placeholder="upload" class="card" id="upload">
<br>
<div class="enter" id="submit-upload">upload</div>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
我的建议是:
纯javascript:
window.onload = function() {
document.getElementById('upload').addEventListener('focus',function(e) {
document.getElementById('fileToUpload').click();
}, false);
}
<input type="text" placeholder="upload" class="card" id="upload">
<br>
<div class="enter" id="submit-upload">upload</div>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
在jQuery中:
$(function () {
$('#upload').on('focus', function(e) {
$('#fileToUpload').click();
});
});
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<input type="text" placeholder="upload" class="card" id="upload">
<br>
<div class="enter" id="submit-upload">upload</div>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- 输入类型=“;文件“;onclick有效,但文件选择不显示
- 选择同一文件时未触发HTML输入文件选择事件
- 多个文件选择
- 当您选择不同的视图时,Google文件选择器示例会中断,例如google.picker.ViewId.DOCS
- JavaScript/HTML5音频:在Android Chrome中播放用户通过文件选择器加载的mp3文件
- 如何将文件选择器添加到angularjs模板中
- Angular文件上传插件:文件选择在Firefox中无法正常工作
- 从其他位置触发文件选择窗口
- IE8或IE9-支持多文件选择上传,无需Flash和HTML5
- 在windows8中,将“从文件选择器中拾取的文件”定义为Listview数据源
- 文件选择/文件API-将文件发送到嵌入式PDFObject
- 显示从文件选择器中选择的图像的图像缩略图
- 此api版本不支持onedrive文件选择器aadsts70001应用程序
- 在聚焦文本输入时触发文件选择
- Phonegap:解析从本机文件选择器获取 content:// URI
- HTML / JavaScript文件选择检查
- 如何在jquery中传递文件选择事件
- j查询文件选择与超链接