2009-12-22 10 views
2

J'utilise le formulaire mootools1.2 check js suivant. Problème de téléchargement de fichier avec vérification de formulaire js

Pour vérifier que la forme fonctionne correctement, elle fonctionne correctement avec la forme ajax.

Mon problème est que lorsque je publie le formulaire avec AJAX avec le téléchargement de fichiers.

Ensuite, il ne me retourne pas le tableau $_FILES au côté PHP.

Si je publie le formulaire normalement (c'est-à-dire sans ajax) alors tout fonctionne bien, tout le tableau de poste et de fichier vient au côté php.

Tandis que la forme ajax poster son retour le nom du fichier sélectionné dans le tableau de poste, mais pas le $_FILES plein Arrat

Répondre

0
<?php 
    if(count($_FILES) > 0) 
    { 
     echo('<pre>'); 

     var_dump($_FILES); 

     die('</pre>'); 
    } 
?> 

<html> 
    <head> 
     <title>Simple file upload with iframe</title> 
    </head> 
    <body> 
     <form enctype='multipart/form-data' method='post' action='<?php echo($_SERVER['PHP_SELF']); ?>' target='iframe'> 
      <input name='file' type='file' /> 
      <input type='submit' value='Send' /> 
     </form> 
     <iframe name='iframe' style='width: 800px; height: 400px;'></iframe> 
    </body> 
</html> 

Pour autant que je sais que vous ne pouvez pas télécharger un fichier avec AJAX, tout simplement parce que vous ne pouvez pas accéder à la fichier. Les navigateurs ont protégé le contenu d'un type d'entrée = fichier, par exemple IE7 donnera C: \ fakepath \ filename.ext et Firefox ne donnera que filename.ext. Mais ce sont des chaînes et non le fichier lui-même. Donc, vous devez vraiment soumettre le fichier en utilisant un formulaire de soumission.

Le code ci-dessus affichera le contenu du formulaire dans une iframe, qui est une solution de contournement couramment utilisée pour le problème que vous avez et empêche le rechargement de la page.

Questions connexes