2010-11-28 24 views
0

Le code ci-dessous télécharge des fichiers sur le serveur en utilisant AjaxUpload.2.0.min.jsAjaxUpload: pourquoi dois-je cliquer deux fois?

Mais vous devez cliquer plusieurs fois sur le bouton "Ajouter un fichier" pour la fenêtre OS (où choisir le fichier que vous voulez télécharger) pour montrer, au lieu de cliquer une seule fois.

Aussi, si vous cliquez une fois dans le lien, puis vous déplacez la souris hors de la zone rouge et cliquez sur (hors de # fichiers_upload), et enfin vous cliquez sur le lien, cela fonctionne, la fenêtre OS s'ouvre. mais pourquoi dois-je faire cela? Est-ce que AjaxUpload ne sera pas initialement lié à l'appel .livequery? alors, comment je l'ai lié?

Veuillez vous concentrer sur ceci, sur la fenêtre du système d'exploitation pour l'afficher au premier clic de la souris. Le reste de la programmation fonctionne correctement sur mon serveur. Les .js sont téléchargés dans github pour rendre le code facile à tester, mais dans le cas réel, ils sont dans ma machine.

Merci beaucoup

<head> 
<style> 
#upload_files{color: #fff; background:#F32201; border:1px solid #7E9DB9; padding:2px;} 
</style> 

<script type="text/javascript" src="https://gist.github.com/raw/6dd585079502f138d87e/7c243080233761859937d52195b670602731a379/jquery-1.4.2.min.js"></script> 

<script type="text/javascript" src="https://gist.github.com/raw/eeb2fe78f63ab80b626d/5be66e749b19fbb5b7c8814bf72a98c083f2aaaf/jquery.livequery.min.js"></script> 

<script type="text/javascript" src="https://gist.github.com/raw/826bff2445c8533dd7fc/797734455959ef27796b6770c95a7b39049ae6e9/AjaxUpload.2.0.min.js"></script> 

<script type="text/javascript"> 
     $(document).ready(function() { 

    function uploadFiles(){ 
     new AjaxUpload('#upload_files', { 
      action: 'whereToUploadInServer.php', 
     });  

    }//end uploadFiles 

      $("#upload_files").livequery("click", function(e){ 
     e.preventDefault(); 
     uploadFiles(); 
     //debugger ; 
    }); 
}); //end document ready 

    </script> 


    </head> 
    <body> 
     <div><a href="#" id="upload_files">Add File</a></div> <br> 

    </body> 

Répondre

1

Pour autant que je peux dire, le composant ajaxupload n'est pas pleinement opérationnel à ce moment selon les docs sur Github. L'auteur suggère d'utiliser le nouveau plugin qq.FileUploader à la place.

Voici un exemple qui affiche la boîte de dialogue de fichier immédiatement après avoir cliqué sur l'élément div.

jsFiddle example

Hope it helps.

+0

J'ai des problèmes avec la connexion, je suis qui a commencé le post: merci !!!!!!!!!!!! tu as sauvé mon projet !! – user523129

+0

Ah! Ce sont de bonnes nouvelles. Je me suis heurté à un problème similaire il y a environ 8 ou 9 mois. Une remarque: il est de coutume que SO accepte la réponse du répondant fournissant la meilleure réponse/solution. – JTP