如何触发jquery输入文件?

时间:2014-03-26 14:56:59

标签: javascript jquery

我试图触发输入标签,通过按钮点击jquery来选择文件。代码示例如下所示

<input type="file" id="input_file"/>

<button onclick="select_file()"/>

function select_file() {
${'input_file').select("http://www.someimage.com/image.gif");
}

经过数小时的研究,我仍然没有得到解决方案如何实现这一目标。

感谢任何建议或解决方案

谢谢你

4 个答案:

答案 0 :(得分:1)

我打算建议:

$("#input-file").trigger("click");

但后来我记得有一些安全限制阻止了触发和设置文件输入对话框的值。

虽然有一些方法,但请看一下这个问题:https://stackoverflow.com/a/3030174/992435

答案 1 :(得分:0)

你应该使用

<input type="hidden" id="input_file"/>
<button onclick="select_file()"/>

function select_file() {
 $('input_file').val("http://www.someimage.com/image.gif");
}

文件的输入类型主要用于本地文件系统文件。

编辑:抱歉打字错误

答案 2 :(得分:0)

您的代码段存在一些问题。您没有使用脚本标记,您在ID选择器之前忘记了'#',并且在美元符号后面有一个大括号。

<input type="file" id="input_file/>

<button onclick="select_file()"/>
<script>    
function select_file() {
    $('#input_file').select("http://www.someimage.com/image.gif");
}
</script>

虽然你在接近问题的方式在技术上有效,但我绝不会推荐它,因为它可能导致无法维护的代码。更好的方法是:

<input type="file" id="input_file/>

<button class="changeInputButton" />
<script>    
$('.changeInputButton').on('click', function () {
  $('#input_file').val("http://www.someimage.com/image.gif");
});
</script>

答案 3 :(得分:0)

您的代码中存在拼写错误...正确如下;

<input type="file" id="input_file"/>

<button onclick="select_file()"/>

function select_file() {

   $('#input_file').val("http://www.someimage.com/image.gif");

}
  1. 使用Val代替Select
  2. 您错过了函数
  3. 中的#符号
  4. 您错过了文件输入标记
  5. 中的引号
  6. 您使用大括号而不是支架