2010-03-19 6 views
0

J'ai utilisé javascript pour télécharger plus d'un fichier. Lorsque l'utilisateur clique sur 'ajouter plus', javascript ajoute un nouvel objet à un div plus ancien en utilisant innerHTML. Maintenant, le problème est que si je sélectionne un fichier, puis que je clique sur "ajouter plus" alors le nouveau bouton de fichier existe mais le fichier sélectionné plus ancien est supprimé et deux boutons de fichier vides s'affichent. Je veux que ce vieux fichier doit être sélectionné lorsque l'utilisateur ajoute un nouveau bouton de fichier.Problème avec le fichier uplolad en javascript

Voici le code que j'ai utilisé.

function addNew() 
{ 
    var root = document.getElementById('newAds'); 
    newAd = document.createElement('input'); 
    newAd.setAttribute('type', 'file'); 
    newAd.setAttribute('name', 'uploaded[]'); 
    newAd.setAttribute('id', 'uploaded'); 
    newAd.setAttribute('value', ''); 
    newAd.setAttribute('maxlength', '1024'); 
    root.appendChild(newAd); 
    root.innerHTML += '<br />'; 
} 

Si quelqu'un peut, Aide Plz !!! tnX.

+0

Pouvez-vous fournir des exemples de JavaScript et HTML. Il est impossible de résoudre simplement en devinant quel est le problème. –

+0

Combien de champs finissez-vous après avoir ajouté un nouveau champ? Quel navigateur essayez-vous cela? –

Répondre

1

Donnez-vous de nouveaux noms aux nouveaux champs de fichier? Êtes-vous en train d'écraser tout innerHTML existant ou juste d'ajouter?

Modifier

Une pensée, peut-être à chaque fois que la fonction est exécutée, la variable devient NEWAD réutilisée il reconstitue toutes les entrées précédentes.

Je ne l'ai pas fait de cette façon depuis un moment. J'utilise jQuery donc il est assez simple alors:

$('#newAds').append('<input type="file" name="uploaded[]" id="uploaded" /><br />'); 

Une autre pensée, vous avez le même identifiant sur toutes les entrées ... cela pourrait causer un problème.

+0

Ceci est le code est utilisé pour ajouter un nouveau bouton de fichier. – Nikhil

+0

function addNew() { var racine = document.getElementById ('newAds'); newAd = document.createElement ('entrée'); newAd.setAttribute ('type', 'fichier'); newAd.setAttribute ('nom', 'upload []'); newAd.setAttribute ('id', 'uploadé'); newAd.setAttribute ('value', ''); newAd.setAttribute ('maxlength', '1024'); root.appendChild (newAd); Root.innerHTML + '; } Je pense que c'est l'écrasement chaque fois que nous ajoutons un nouvel élément. – Nikhil

+0

pouvez-vous poster que dans votre question ... c'est juste un peu difficile à lire ici –

Questions connexes