présenter de multiples formes, avec p:commandbutton
Je veux présenter de multiples formes avec un bouton envoyer. J'ai plusieurs formulaires, car chaque p:fileUpload besoin d'une forme propre (en mode avancé).
Voici le code de mon bouton submit:
<h:form id="form1">...</h:form>
<h:form id="form2">...</h:form>
<h:form>
<p:commandButton value="Save" widgetVar="saveButtonBottom"
action="#{bean.submit}" ajax="false"
process=":form1,:form2,@this" />
</h:form>
Il n'appelons haricots.submit(), mais il ne traite pas les autres formes. Peut-être que ma compréhension de la transformation est mal, mais j'ai pensé que si j'ai mis un formulaire dans "processus", puis il sera soumis.
Aucune idée de comment la faire fonctionner?
Vous devez vous connecter pour publier un commentaire.
C'est la limitation de HTML. Seulement l'entrée de données contenant à l'intérieur de la forme actuelle (dans laquelle la commande est invoquée) sera envoyé au serveur. Quant à la
process
attribut qui identifie uniquement la partie(s) de que soumis les données doivent être traitées par JSF fois qu'ils sont arrivés.Mettre toutes les données liées dans la même forme. Utiliser si nécessaire un seul
<p:fileUpload>
avec plusieurs de sélection de fichier de soutien.Place à l'intérieur de form2:
appeler ce bouton de commande sur form1
dans votre
ajouter l'attribut:
partialSubmit="true"
et la chanceajax="false"
àajax="true"
partialSubmit="true"
a fait la différence. Il est très illogique qu'une chose à réduire le nombre de champs soumis en un seul formulaire peut également être utilisé pour présenter des champs de plusieurs formes. La source pourrait s'avérer pourquoi cela fonctionne... étudiera plus tard, ou vous pouvez le faire et d'y ajouter à votre réponse.process
attribut. Ainsi, l'ajout de multiples formes ajoute toutes les entrées dans toutes les formes, comme l'a fait ci-dessus. MAIS... Vous pouvez pas set 'ajax' à false, ce qui vous ne l'avez pas dans votre réponse. Donc, en fait, cette réponse est pas bon mais peut être compensé par l'ajout de quelques infos à propos de l'ajax pour elle...Comme BalusC correctement souligné vous ne pouvez soumettre un formulaire de demande. Cependant, vous pouvez invoquer de multiples demandes avec un cliquez sur le bouton:
Que vous avez à réaliser ce sera la suite de plusieurs demandes simultanées en cours de traitement par votre serveur, et il n'y a pas de garanties sur la demande de traitement de la commande. Cela peut rendre la validation et de données back-end de traitement difficile. Vous pouvez essayer de contourner cela en utilisant oncomplete gestionnaire et le feu les soumissions de formulaire dans la séquence de cette façon, mais encore ce qui signifie que vos données de formulaires seront envoyés au serveur un par un.
Aussi, l'approche ci-dessus ne fonctionne que si votre soumission de formulaires via ajax.