Autor Thema: Schaltfläche erst nach Bestätigung einer Checkbox anzeigen  (Gelesen 3087 mal)

Offline Dirk Heimbürger

  • Frischling
  • *
  • Beiträge: 5
  • Geschlecht: Männlich
Hallo zusammen,

ich möchte in meiner XPage-Anwendung das Registrieren eines Benutzers nur erlauben, wenn der Anwender den AGB's zugestimmt hat.

Dazu habe ich, abgesehen von den Anmeldedaten, eine Checkbox für die AGB-Zustimmung und eine Schaltfläche für die Registrierung eingebaut.
Der Webzugriff ist zu diesem Zeitpunkt also noch Anonym.
Ich habe versucht, den Status der Checkbox in einer SessionScope-Variablen speichern und die Schaltfläche in Abhängigkeit davon Auszublenden.
Welche Property der Schaltfläche muß ich denn nehmen, damit Sie beim Anhaken der Checkbox sofort sichtbar wird?

Das kann doch nicht so schwer sein. Komme da irgendwie nicht weiter. Das hat doch sicher schon mal jemand gemacht.
Wer kann mir denn mal einen Tipp geben?
MfG Dirk

Domino 8.5.3FP3 + Ext.Lib
Client 8.5.3FP3 + Ext.Lib

Offline Jan Grünklee

  • Frischling
  • *
  • Beiträge: 43
  • Geschlecht: Männlich
Re: Schaltfläche erst nach Bestätigung einer Checkbox anzeigen
« Antwort #1 am: 16.01.13 - 12:45:22 »
Hallo Dirk,

du muss einen Partial Refresh auf eine um den Button herumliegende Component (z.B. Panel) ausführen.

Beispiel:

Code
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
	<xp:panel id="panel1">
		<xp:button value="Aktion ausführen" id="button1">
			<xp:this.rendered><![CDATA[#{javascript:sessionScope.get("agb") == "1"}]]></xp:this.rendered>
		</xp:button>
	</xp:panel>
	<xp:panel id="panel2">
		<xp:checkBox text="Akzeptieren" id="checkBox1" value="#{sessionScope.agb}" checkedValue="1" uncheckedValue="0">
			<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="panel1"></xp:eventHandler>
		</xp:checkBox>
	</xp:panel>
</xp:view>

Gruss Jan
Notes ist das was Du draus machst!

Offline Dirk Heimbürger

  • Frischling
  • *
  • Beiträge: 5
  • Geschlecht: Männlich
Re: Schaltfläche erst nach Bestätigung einer Checkbox anzeigen
« Antwort #2 am: 16.01.13 - 17:16:16 »
Hallo Jan,

habe das event "onchange" noch auf "onclick" geändert und schon klappte dein Beispiel mir.
Vielen Dank für deine schnelle Hilfe !!

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
   <xp:panel id="panel1">
      <xp:button value="Aktion ausführen" id="button1">
         <xp:this.rendered><![CDATA[#{javascript:sessionScope.get("agb") == "1"}]]></xp:this.rendered>
      </xp:button>
   </xp:panel>
   <xp:panel id="panel2">
      <xp:checkBox text="Akzeptieren" id="checkBox1" value="#{sessionScope.agb}" checkedValue="1" uncheckedValue="0">
         <xp:eventHandler event="onclick" submit="true"
            refreshMode="partial" refreshId="panel1">
         </xp:eventHandler>
      </xp:checkBox>
   </xp:panel>
</xp:view>

Gruß Dirk
MfG Dirk

Domino 8.5.3FP3 + Ext.Lib
Client 8.5.3FP3 + Ext.Lib

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz