Comment lancer l'événement sur le fichier, sélectionnez

J'ai une forme comme

<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> 

C'est pour télécharger une image.

Ici, je dois cliquer sur le bouton pour télécharger l'image et je dois utiliser l'événement onClick . Je souhaite supprimer le bouton de téléchargement et dès que le fichier est sélectionné à l'entrée, je souhaite déclencher l'événement. Comment je fais ça??

Utilisez l'événement de modification sur l'entrée du fichier.

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

Vous pouvez vous abonner à l'événement onchange sur le champ de saisie:

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

et alors:

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

Il s'agit d'une question plus ancienne qui nécessite une réponse plus récente qui traitera de la préoccupation de @Christopher Thomas ci-dessus dans les commentaires de la réponse. Pour naviguer à l'écart de la page, puis sélectionner le fichier une deuxième fois, vous devez effacer la valeur lorsque vous cliquez ou faites un démarrage tactile (pour mobile). Ce qui suit fonctionnera même si vous naviguez loin de la page et utilisez 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) { }