Feu d'événements javascript événement onchange de <input type=“file”/>
J'ai ce code
<input id="fileupload"
type="file" name="files[]"
class="inputFile clickable"
onchange="uploadFile(this.value)"/>
Cela fonctionne bien sur le deuxième temps de l'utiliser, c'est à dire la première fois que je sélectionne le fichier à l'événement onchange n'est pas le feu, mais la sélection de fichier pour la deuxième fois, fonctionne très bien.
Est-il une chose à laquelle je peux changer ici?
J'ai essayé:
onlclick
(ne fonctionne pas, les feux avant de sélectionner un fichier)onblur
(ne fonctionne pas, n'est-ce pas le feu à tous les, ainsi même si ne le fait, c'est juste stupide de cliquer quelque part sur la page d'incendie de l'opération)onselect
(ne fonctionne pas)
Infos supplémentaires:
Si j'utilise onchange=alert(this.value)
il fonctionne très bien
c'est mon code javascript
function uploadFile(value) {
alert(value); //works fine
$('#fileupload').fileupload({
dataType: 'json',
url: 'fileUpload.php',
type: 'POST',
limitConcurrentUploads: 1,
// done: function (e, data) {
// $.each(data.result, function (index, file) {
// $('<p/>').text(file.name).appendTo(document.body);
// });
// },
success: function() {
showMultipleDataDiv(value); //but I don't get value here
}
});
}
- fil similaire ? " stackoverflow.com/questions/2133807/...
- oui, mais cela ne change pas la situation, j'ai créer une nouvelle entrée et il toujours feux sur deuxième fois et pas premier.
- Vous pouvez poster votre code Javascript? Peut-être il y a quelques erreurs là-dedans?
- Pouvez vous s'il vous plaît essayez d'utiliser jquery live méthode $('#fileupload').live('change', function(){ uploadFile(); }); ou comme $("#fileupload").change(function() { alert ("j'ai cliqué sur'); });
- Si vous avez accès à des journaux d'erreur de regarder et d'autre, essayez d'utiliser le Chrome Réseau de la console (cliquez-droit sur la page -> Inspecter l'Élément -> onglet Réseau), puis en soumettant le formulaire de téléchargement. Je pense qu'il ya quelque chose de mal avec votre fileUpload.php.
- J'en doute, parce que quand je vois la requête get pour showmultipledatadiv il est vide, plus je n'ai pas écrit fileupload.php c'est à partir de blueimp plugin
Vous devez vous connecter pour publier un commentaire.
Le code
$('#fileupload').fileupload
va déclencher un téléchargement de fichier dès que l'utilisateur sélectionne un fichier. Vous devez exécuter ce code avant que l'utilisateur sélectionne un fichier, car il ajoute un écouteur d'événement à la balise input. Puisque vous n'exécutez ce code, une fois que l'utilisateur sélectionne un fichier, il sera seulement le travail sur le deuxième temps.C'est le changement que vous devez faire pour faire fonctionner
Avis il n'est pas nécessaire d'ajouter du code dans l'événement change. Le plugin va le faire pour vous.
Vous pouvez en lire plus à ce sujet ici: https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin