2010-01-18 1 views
0

J'utilise Struts2 pour le développement d'une application Web. J'ai ce problème particulier pour lequel je ne pourrais pas trouver une solution même après que j'ai googlé.est-il possible d'effacer l'étiquette d'entrée de fichier struts2?

J'ai 3 étiquettes avec un lien hypertexte ou un bouton contre chaque, qui doit être utilisé pour effacer le chemin de fichier si quelque chose a été précédemment sélectionné. La solution qui a été trouvée en ligne était de réinitialiser le formulaire .. mais alors toutes les étiquettes de fichier s: seront effacées puisque toutes les étiquettes doivent être sous la même forme.

Y at-il un moyen d'effacer une seule entrée de fichier sur un clic ??

Répondre

1

Une solution similaire à ce que nous avons utilisé est de supprimer l'élément d'entrée et de créer un nouvel élément d'entrée à sa place, avec le même nom.

EDIT: Voici un exemple que j'ai lancé ensemble.

<script type="text/javascript"> 
    function clearFoo() { 
     var inp = document.getElementById("foo"); 
     var parent = inp.parentNode; 

     // Create the new input element. 
     // Copy over any attributes you need. 
     var newInp = document.createElement("input"); 
     newInp.type = "file"; 
     newInp.name = inp.name; 

     // Replace the old node with the new node. 
     parent.insertBefore(newInp, inp); 
     parent.removeChild(inp); 

     // The new node is the new "foo". 
     newInp.id = "foo"; 
    } 
</script> 

<s:file id="foo" name="foo"/> 

<button onclick="clearFoo();">Click</button> 
+0

est-il possible avec des balises struts ?? une idée? :-) – Richie

+0

Tout ce que vous avez besoin de changer dans votre 's: file' est d'ajouter un attribut' id'. J'ai ajouté un exemple. – ZoogieZork