2011-01-21 4 views
1

J'essaie de télécharger un fichier, et afficher le nom du fichier téléchargé avec un lien «supprimer» pour supprimer le fichier téléchargé (afin d'en télécharger un autre). Here est ce que j'ai jusqu'ici. Tout fonctionne bien, sauf que lorsque je supprime le fichier téléchargé et que j'essaie d'en télécharger un autre en cliquant sur le bouton "Choisir un fichier", le même nom de fichier apparaît. Comment puis-je supprimer le nom de fichier de la mémoire (je suppose), donc le bouton fonctionne comme neuf, et aucun fichier n'est envoyé lorsque le formulaire est soumis SANS le nom du fichier, mais si le fichier téléchargé n'est pas supprimé, il doit être disponible pour soumettre. Un grand merci pour votre aide à l'avance.Télécharger et supprimer le fichier

Répondre

2

Ajoutez $ this.val ('') après la suppression afin de définir la valeur de l'entrée à vider.

SITE.fileInputs = function() { 
    var $this = $(this), 
     $val = $this.val(), 
     valArray = $val.split('\\'), 
     newVal = valArray[valArray.length - 1], 
     $button = $this.siblings('.button'), 
     $fakeFile = $this.siblings('.file-holder'); 
    if (newVal !== '') { 
     $button.text('File chosen'); 
     if ($fakeFile.length === 0) { 
      $('.place').html('<div><span class="file-holder">' + newVal + '</span><a href="#" class="delete_upload">Remove</a></div>'); 
      $this.val(''); 
     } else { 
      $fakeFile.text(newVal); 
     } 
    } 
}; 

Vérifiez le résultat ici: http://jsfiddle.net/kTNuB/3/

+0

Merci pour la réponse. Cela fonctionne très bien si je veux juste supprimer le fichier et en télécharger un autre. Mais cela rend également la valeur du fichier 'vide' si je veux soumettre le fichier téléchargé. Une idée de comment? – DGT

+0

Déplacez le $ this.val (''); à la fonction delete (ajoutez $ ('.file-wrapper input [type = fichier]'). val ('');). vérifier http://jsfiddle.net/kTNuB/5/ – keepwalking

+0

Awesome.Thanks. – DGT