如何在文件select上触发事件

我有一个表格

<form onSubmit="return disableForm(this);" action="upload.php" method="post" name="f" id="wizecho" enctype="multipart/form-data"> <input type="file" name="file" /> <button onClick="return disableForm(this),ajaxUpload(this.form,'wizecho_upload.php', '&lt;br&gt;Uploading image please wait.....&lt;br&gt;'); return false;"> Upload Image </button> </form> 

这是上传一个图像。

在这里,我需要点击button上传图片,我必须使用onClick事件。 我想删除上传button,一旦文件被选中在input,我想要发射的事件。 我怎么做??

使用文件input上的更改事件。

 $("#file").change(function(){ //submit the form here }); 

您可以在input字段上订阅onchange事件:

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

接着:

 document.getElementById('file').onchange = function() { // fire the upload here }; 

这是一个较老的问题,需要一个更新的答案,以解决接受答案评论中@Christopher Thomas关注的问题。 要离开页面并再次select文件,需要在单击或执行touchstart(针对移动设备)时清除该值。 即使当你离开页面并使用jquery的时候,下面的代码也可以工作:

 //the HTML <input type="file" id="file" name="file" /> //the JavaScript /*resets the value to address navigating away from the page and choosing to upload the same file */ $('#file').on('click touchstart' , function(){ $(this).val(''); }); //Trigger now when you have selected any file $("#file").change(function(e) { }