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

InformationsquelleAutor xaero | 2012-09-12