- Ich habe zwei einfache Formen (Form1 und Form2). Sie haben jeweils nur ein Feld (field1). Ich habe zwei benutzerdefinierte Steuerelemente erstellt. Sie sind identisch mit Ausnahme cc1 Datenquelle als Form1 definiert hat und CC2 hat eine Datenquelle Formular 2.
- Jede individuelle Steuerung hat ein inputbox gebunden an das feld1 Feld die entsprechende Datenquelle und ein Senden. Ich erstelle eine
Xpage und ziehen beide benutzerdefinierte Steuerelemente in die Seite. - Wenn ich die Eingabefelder auf der X-Seite in einem Browser Vorschau und füllen, wenn ich auf eine der Senden-Schaltflächen klicken, werden zwei Dokumente basierend auf den beiden Formen in der Domino-Datenbank erstellt.
- Ich habe versucht, teilweise Aktualisierung/Ausführung und viele andere Dinge zu verwenden. Egal was ich mache, ich bekomme immer leere Dokumente beider Formulare.
XPage:Xpage mit mehreren Formularen und Datenquellen erstellen leere Dokumente
<xp:div styleClass="container" style="margin-top:20px">
<xp:div styleClass="row">
<xc:cc1></xc:cc1>
<xc:cc2></xc:cc2>
</xp:div>
</xp:div>
Individuelle Kontrolle 1
<xp:this.data>
<xp:dominoDocument var="form1" formName="form1"></xp:dominoDocument>
</xp:this.data>
<xp:div id="formDiv1" styleClass="col-sm-4">
<xp:form>
<xp:label value="Form 1" styleClass="h3"></xp:label>
<xp:div styleClass="form-group">
<xp:label value="Field 1" styleClass="control-label"></xp:label>
<xp:inputText value="#{form1.field1}"></xp:inputText>
</xp:div>
<xp:button value="Submit Form1" id="form1Btn">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" immediate="false" save="true" refreshId="formDiv1"
execMode="partial" execId="formDiv1">
</xp:eventHandler>
</xp:button>
</xp:form>
Individuelle Kontrolle 2
<xp:this.data>
<xp:dominoDocument var="form2" formName="form2"></xp:dominoDocument>
</xp:this.data>
<xp:div id="formDiv1" styleClass="col-sm-4">
<xp:form>
<xp:label value="Form 2" styleClass="h3"></xp:label>
<xp:div styleClass="form-group">
<xp:label value="Field 1" styleClass="control-label"></xp:label>
<xp:inputText value="#{form2.field1}"></xp:inputText>
</xp:div>
<xp:button value="Submit Form2" id="form2Btn">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" immediate="false" save="true" refreshId="formDiv1"
execMode="partial" execId="formDiv1">
</xp:eventHandler>
</xp:button>
</xp:form>
Das ist ausgezeichnet. Danke, Knut. Es ist fast perfekt. Nach dem Klicken auf die Schaltfläche "Senden" wird das Eingabefeld jedoch nicht aktualisiert. Wenn ich außerdem einen anderen Wert in das Eingabefeld eingibt und erneut auf die Schaltfläche "Senden" klickt, wird das vorherige Dokument überschrieben, anstatt ein neues Dokument mit dem neuen Wert zu erstellen. –
Dieser http://stackoverflow.com/a/14585187/2065611 könnte Ihnen helfen, ein neues Dokument nach dem Speichern des vorherigen zu erhalten. –
Ja, tatsächlich. Das war die Antwort! Aber ich musste eine zusätzliche Zeile im Code hinzufügen: ds.setFormName ("form2"); –