Autor Thema: Wert aus einen Textfeld an ein anderes übergeben  (Gelesen 8728 mal)

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Hallo allerseits!

Könnte etwas Hilfe gebrauchen.

Ich habe eine Xpage in welche der User existierde Daten bearbeiten kann. Auf der Xpage befindet sich ein Textfeld namens "ID". Von dieser Xpage kommt der User auch per Button-Link auf eine XPage wo er ein neues Document anlegen kann, was auch ein Textfeld namens "ID" hat.

Klickt der User auf den Button und landet so auf der zweiten XPage, soll der Wert aus dem Textfeld "ID" mit übernommen werden und auf der zweiten Xpage im gleichnamigen Textfeld "ID" eingetragen werden.

Mein Kopf raucht schon, doch ich finde keine Lösung.....

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #1 am: 07.05.12 - 15:22:51 »
SessionScope Variable oder URL-Parameter.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #2 am: 07.05.12 - 15:36:59 »
Danke, hast du nen beispiel wie man mit SessionScope Variable das macht?

Habe auf den Button-Link folgendes, bei onclick:

sessionScope.values(document1.getItemValue("ID"));

und beim 2 texfeld, vorgabewert, beim laden der seite:

viewScope.values=sessionScope.values;

Bekomme ne 500 im Client angezeigt ....


 :-:

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #3 am: 07.05.12 - 15:53:07 »
1) XPages Fehlermeldungen in den Anwendungseigenschaften aufdrehen, dann solltest Du den Fehler finden.

2) "document1.getItemValue" liefert - wie in Lotusscript - ein Array zurueck.

2) MIt
Code
sessionScope.values(document1.getItemValue("ID"));
kommst nicht weit. Du musst der sessionVariable auch einen Namen geben. Probier mal
Code
sessionScope.atnotesID = document1.getItemValueString("ID");
und dann auch entsprechend auslesen.



HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #4 am: 07.05.12 - 15:53:53 »
Du kannst auch das Binding des jew. Feldes direkt an den Sessionscope koppeln und als Default-Wert des Textfeldes auf der zweiten Seite verwenden:

Page 1.xsp

Code
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

	<xp:inputText id="inputText1" value="#{sessionScope.Text}"></xp:inputText>
	<xp:button value="Label" id="button1">
		<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
			<xp:this.action>
				<xp:openPage name="/Page2.xsp"></xp:openPage>
			</xp:this.action>
		</xp:eventHandler>
	</xp:button>
	
</xp:view>


Page2.xsp

Code
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

	<xp:this.data>
		<xp:dominoDocument var="document1"></xp:dominoDocument>
	</xp:this.data>
	
	<xp:inputText id="inputText1" value="#{document1.ID}"
		defaultValue="#{javascript:sessionScope.Text}">
	</xp:inputText>
	
</xp:view>


Sven

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #5 am: 07.05.12 - 15:58:48 »
Dann kann ers aber nicht autom. ins Dokument schreiben, IIRC.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #6 am: 07.05.12 - 16:02:26 »
Wieso nicht? Beim Öffnen der zweiten Seite wird das Feld mit dem Wert aus dem Sessionscope befüllt. Das Binding speichert den Wert dann im document1.

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #7 am: 07.05.12 - 16:05:29 »
Wieso nicht? Beim Öffnen der zweiten Seite wird das Feld mit dem Wert aus dem Sessionscope befüllt. Das Binding speichert den Wert dann im document1.
Mein Fehler. Das Binding bezog sich in Deinem Beispiuel auf die erste Xpage. So gehts natuerlich.

ich vermute allerdings, dass er fuer beide Dokumente die gleiche Xpage verwenden will.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #8 am: 07.05.12 - 16:06:04 »
... ich setzte und hole Werte für sessionScope-Variablen mit

sessionScope.put("VARIABLENNAME" , "Lorem ipsum...");
var sValue = sessionScope.get("VARIABLENNAME");

Damit klappt das bei mir ;) - oder sitze ich auf der Leitung?
Grüßle Toni :)

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #9 am: 07.05.12 - 16:06:13 »
Tausend dank an alle!

Also button mit:

sessionScope.put('meineID', document1.getItemValue("ID"))

und das zweite feld mit:

sessionScope.get('meineID')

Funktionert einwandfrei :)

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #10 am: 07.05.12 - 16:08:35 »
... ich war schon am zweifeln ;)
Grüßle Toni :)

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #11 am: 07.05.12 - 16:11:10 »
... ich setzte und hole Werte für sessionScope-Variablen mit

sessionScope.put("VARIABLENNAME" , "Lorem ipsum...");
var sValue = sessionScope.get("VARIABLENNAME");

Damit klappt das bei mir ;) - oder sitze ich auf der Leitung?

get/put geht natuerlich auch. Aber values ...
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #12 am: 07.05.12 - 16:25:26 »
hmmm wenn ich folgendes beim zweitentextfeld hinzufüge gibt es wieder 500... :'(

sessionScope.clear()

auch

sessionScope.clear('meineID')

gibt 500 :(

 :-:

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #13 am: 07.05.12 - 16:28:45 »
... setze sie doch leer - nach der Session ist die Variable eh nicht mehr da - ist ja nicht wie im Environment ;)

@Martin (m3)
Zitat
get/put geht natuerlich auch. Aber values ...

... ich hatte mit values so meine Probleme - seither mache ich es so...
Grüßle Toni :)

Offline manderson

  • Junior Mitglied
  • **
  • Beiträge: 68
    • manderson.de
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #14 am: 07.05.12 - 16:42:22 »
habe sie nun leer gesetzt und beim button das script von server auf client geändert, da vorher probleme auftauchten als ich die scope leer gesetzt habe....

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Wert aus einen Textfeld an ein anderes übergeben
« Antwort #15 am: 07.05.12 - 16:43:53 »
hmmm wenn ich folgendes beim zweitentextfeld hinzufüge gibt es wieder 500... :'(

sessionScope.clear()

auch

sessionScope.clear('meineID')

gibt 500 :(

 :-:

Ein sessionScope.clear() würde den SessionScope komplett löschen und wurde daher deaktiviert. Du solltest  unbedingt die Error-Seite einschalten, dann gibt es nicht nur 500er-Seiten sondern einen aussagekräftigen Stacktrace.

Probiers mal mit
Code
sessionScope.remove( 'meineID' )

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz