2010-08-18 14 views
0

J'ai un menu déroulant avec 2 options "Télécharger fichier", "Ajouter URL". Si l'utilisateur sélectionne Envoyer le fichier, mon formulaire affichera un sélecteur de fichier. Si l'utilisateur sélectionne Ajouter une URL, le formulaire masque le sélecteur de fichier et affiche à la place une zone de texte. J'ai fait cela en utilisant la pertinence. File Selector ajoutera des informations sur le fichier à la balise de document.XForms: Définir le tag de suppression du code XML pertinent

<xforms:bind nodeset="./document" relevant="instance('test')/uploadMethod='Upload File'"/> 
<xforms:bind nodeset="./documentURL" relevant="instance('test')/uploadMethod='Add URL'" /> 

Les données de la zone de texte seront enregistrées dans la balise documentURL.

L'utilisateur choisit de télécharger le fichier et télécharge un fichier et enregistre le fichier XML. Dans le fichier XML enregistré, je ne vois plus l'étiquette. J'ai un cas d'utilisation où l'utilisateur doit pouvoir éditer ce XML et il peut choisir d'ajouter l'URL. Le problème est le suivant. Parce que le XML enregistré ne contient pas la balise, la zone de texte ne s'affiche pas sur le formulaire.

Quelqu'un peut-il aider s'il vous plaît? Je dois être en mesure de laisser l'utilisateur voir le fichier selecor ou textbox en fonction de ce qu'il choisit dans la liste déroulante, en mode édition.

+0

Vous dites "Dans le fichier XML enregistré, je ne vois plus le tag." Quel tag est-ce? Seriez-vous capable de coller un exemple complet, mais en même temps minimal? – avernet

Répondre

1

Si vous avez les éléments dans l'instance, mais qu'ils ne sont plus présents après l'envoi de l'instance, c'est peut-être parce que vous avez "l'élagage de pertinence", ce qui supprimera tous les nœuds non pertinents. . Vous résoudriez cela en supprimant l'attribut relevant="true" que vous pourriez avoir sur l'élément <xforms:submission>.