用户选择文件时执行javascript函数

时间:2012-05-11 08:57:31

标签: javascript file input

在html页面中,我添加了一个输入元素。

<input type="file" name="fileselect" id="fselect"> </input>

我想在用户选择文件时执行javascript函数。假设我也要写入控制台。

jquery select()是否正确检查用户是否选择了文件?我试过这个

$(document).ready(function(){
   $('#fselect').select(function(){ 
      console.log('selected');
      myfun(); 
    });
});

function myfun(){
   alert('you selected a file');
}

出于某种原因,当我使用input元素选择文件时,没有任何内容写入控制台,也没有出现警告框.. select()调用编码错误了吗?

3 个答案:

答案 0 :(得分:3)

您可以使用change事件:

​$("#fselect").change(function() {
    // do something
});​​​​​​​

DEMO: http://jsfiddle.net/BtsHL/

答案 1 :(得分:2)

您想要的事件是更改,而不是选择

来自the docs

  

当用户在其中进行文本选择时,select事件将发送到元素。

对于change

  

更改事件在其值更改时发送给元素

答案 2 :(得分:1)

试试这个:

$(document).ready(function(){
   $('#fselect').change(function(){ 
      console.log('selected');
    });
});