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', '<br>Uploading image please wait.....<br>'); return false;">
Upload Image
</button>
</form>
Il s'agit de télécharger une image.
Ici, je dois cliquer sur le bouton pour télécharger l'image et je dois utiliser l' onClick
événement. 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??
javascript
jquery
ptamzz
la source
la source
Réponses:
Utilisez l'événement de modification sur l'entrée de fichier.
la source
Vous pouvez vous abonner à l'événement onchange dans le champ de saisie:
puis:
la source
Il s'agit d'une question plus ancienne qui nécessite une réponse plus récente qui répondra à la préoccupation de @Christopher Thomas ci-dessus dans les commentaires d'acceptation de la réponse. Si vous ne quittez pas la page et que vous sélectionnez le fichier une deuxième fois, vous devez effacer la valeur lorsque vous cliquez ou effectuez un démarrage tactile (pour mobile). Ce qui suit fonctionnera même lorsque vous quittez la page et utilisez jquery:
la source
val('')
, ce qui ne fonctionne pas dans la plupart des navigateurs.element.setAttribute("value", "")
Si vous n'utilisez pas jQuery, vous devez l'utiliserelement.value = ""
pour que l'élément file soit vraiment effacé correctement.Faites ce que vous voulez faire après le chargement du fichier avec succès. Juste après la fin du traitement de votre fichier, définissez la valeur du contrôle de fichier sur une chaîne vide. Ainsi, le .change () sera toujours appelé même si le nom du fichier change ou non. comme par exemple tu peux faire cette chose et a travaillé pour moi comme un charme
la source
Solution pour les utilisateurs de vue, résolution du problème lorsque vous téléchargez le même fichier plusieurs fois et que l'événement @change ne se déclenche pas:
la source
<input type = "file" @ change = "onFileChange" class = "input upload-input" ref = "inputFile" />
la source