Seite ausblenden mit Javascript

Ob nun dynamisch agierende Subformulare, oder einfach nur Textfelder...
Hotte
Beiträge: 13
Registriert: 10.04.2012, 16:37

Seite ausblenden mit Javascript

Beitrag von Hotte » 11.04.2012, 11:06

Hallo Forum,

 

ich habe jetzt schon viel gelesen mit Seite aus-/einblenden und trotzdm habe ich immer noch ein Problem:

Ich möcchte abhängig von Feld Name1 die erste Seite aus bzw. einblenden,

hier das Coding:
[fontsize=2]
data.Factsheet.Kundenadresse.NAME1::initialize - (JavaScript, client)

?[/fontsize][fontsize=2][fontsize=2]if[/fontsize][/fontsize][fontsize=2] ( NAME1.rawValue [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]!null[/fontsize][/fontsize][fontsize=2] )[/fontsize]

[fontsize=2]Kontaktformular.presence [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2]"visible";
[/fontsize][fontsize=2][fontsize=2]
else
[/fontsize]
[/fontsize]
[fontsize=2]
Kontaktformular.presence [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2]"hidden";

endif

 

Problem ist dass immer das Formular 'Kontaktformular' angezeigt wird.

egal ob Feld Name1 gefüllt ist oder nicht.

Irgendwie habe ich das gefühl als ob die ABfrage nicht stimmt

Auch zeigt mir das Formular dann den Wert True an, wenn in Name1 gar nichts gefüllt ist.

 

Vielleicht kann mir ja jemand weiterhelfen.

 

Gruß Hotte
[/fontsize]

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Seite ausblenden mit Javascript

Beitrag von armine » 11.04.2012, 11:44

Hallo Hotte,

setze den Code doch ins Exit-Ereignis von [fontsize=2] NAME1 und achte darauf, dass das alles umschliesende TF auf Textfluss steht.
Korrigieren solltest du in
[/fontsize][fontsize=2]
[/fontsize]
[fontsize=2][fontsize=2]if[/fontsize][/fontsize][fontsize=2] ( this.rawValue[/fontsize][fontsize=2])[/fontsize] {
     [fontsize=2]Kontaktformular.presence [/fontsize][fontsize=2][fontsize=2]= [/fontsize][/fontsize][fontsize=2]"visible";
[/fontsize][fontsize=2][fontsize=2]} else {
     [/fontsize]
[/fontsize]
[fontsize=2]Kontaktformular.presence [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] "hidden";
}[/fontsize]
[fontsize=2]
Dein Code ist weder JavaScript noch FormCalc.
[/fontsize][fontsize=2]
vg armine
[/fontsize]

Hotte
Beiträge: 13
Registriert: 10.04.2012, 16:37

Seite ausblenden mit Javascript

Beitrag von Hotte » 11.04.2012, 12:14

Hallo Armine,

 

habe das Coding abgeändert:
[fontsize=2]
data.Factsheet.Kundenadresse.NAME1::exit - (JavaScript, client)

?[/fontsize][fontsize=2][fontsize=2]if[/fontsize][/fontsize][fontsize=2] ( NAME1.rawValue [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]!null[/fontsize][/fontsize][fontsize=2]) {

Kontaktformular.presence [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] "visible"; }
[/fontsize][fontsize=2][fontsize=2]
else[/fontsize]
[/fontsize]
[fontsize=2] {

Kontaktformular.presence [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] "hidden";

}

 

Trotzdem wird immer noch das leere Forkular angezeigt.

Textfluss habe ich eingestellt.

 

Noch eine Idee ?

 

Gruß Hotte
[/fontsize]

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Seite ausblenden mit Javascript

Beitrag von armine » 11.04.2012, 13:39

Hallo Hotte,

in der Kürze der Zeit habe ich vorhin gepfuscht.
Anbei ein funktionstüchtiges Beispiel.

Gruß
armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Hotte
Beiträge: 13
Registriert: 10.04.2012, 16:37

Seite ausblenden mit Javascript

Beitrag von Hotte » 11.04.2012, 13:51

Hallo nochmals,

 

ich habe jetzt mal das Feld Name1 eingabebereit gemacht,

und wenn ich nach dem Aufruf des Fromulares das Feld lösche,

dann verschwindet auch das erste Blatt, wenn ich wieder eteas eingebe, dann erscheint das Blatt auch wieder.

 Jedoch sollte dies aber schon beim generieren geschehen.

Das PDF wird aus aus dem SAP-System erzeugt.

Liegt das Problem evtl daran ?

 

Gruß Hotte

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Seite ausblenden mit Javascript

Beitrag von Merklin » 11.04.2012, 17:04

Hallo Hotte,

versuche doch einmal, das Script ins "docReady" Ereignis zu legen.
Vielleicht klappt es dann.

Code: Alles auswählen

• docReady   

Wird vor dem Rendern des Dokuments, aber nach  der Datenbindung der Daten ausgeführt.
VG Merklin

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Seite ausblenden mit Javascript

Beitrag von armine » 11.04.2012, 17:09

Neuer Versuch:

SAP ist nun gar nicht mein Ding und wann die Daten zur Verfügung stehen könntest du mit einer Abfrage herausfinden. Mit

[font=courier new] Formular1.Gesamtinhalt.Seite2.NAME1::exit - (JavaScript, client)

if (this.rawValue) {
    Kontaktformular.presence = "visible"
} else {
    Kontaktformular.presence = "hidden"
}

 Formular1.Gesamtinhalt.Seite2.NAME1::ready:form - (JavaScript, client)

//this.rawValue = "Testinhalt";

if (this.rawValue) {
    Kontaktformular.presence = "visible"
} else {
    Kontaktformular.presence = "hidden"
}[/font]

funktioniert es bei mir. Je nach dem ob die erste Zeile in [font=courier new]ready:form [/font]auskommentiert ist oder nicht ist [font=courier new]Kontaktformular [/font]sichtbar oder nicht.

Klappts nun?
armine

Hotte
Beiträge: 13
Registriert: 10.04.2012, 16:37

Seite ausblenden mit Javascript

Beitrag von Hotte » 12.04.2012, 08:18

Hallo nochmals,

 

mit dem Tipp von merklin das ganze ins Ereignis docready zu schieben

funktioniert es.

Allerdings sieht man kurz das Laden der ersten Seite, welche dann aber

ausgeblendet wird.

Denke dies reicht.

Erst mal vielen Dank für Eure Mühen :), werde

bestimmt noch öfters hier unterwegs sein, da dies erst der ANfang meines

Formulares ist.

 

Gruß Hotte


Cafar
Beiträge: 5
Registriert: 10.09.2012, 11:15

Seite ausblenden mit Javascript

Beitrag von Cafar » 10.09.2012, 11:21

Hallo zusammen,

ich bin neu hier und bin übers Web auf diese Seite gestoßen.

Ich habe das gleiche problem. Möchte aber kein interaktives Formular, sondern beim Printparameter geteuert eine Seite ausdrucken lassen oder auslassen. Hab jetzt das Script in mehrere Events abgelegt komme aber dennoch zum gewünschten Ergebnis. Hier mein Script:

----- data.PD_FORM::initialize: - (JavaScript, client) ----

if (i_pd = 'X')
{
pd_form.presence = "hidden";
}

Weiß jemand Rat?

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Seite ausblenden mit Javascript

Beitrag von armine » 10.09.2012, 12:45

Hallo Cafar,

mein Rat: Bemühe erst die Syntax-Prüfung, bevor du eine Frage stellst.
Vesuche mal:
[font=courier new]if (i_pd == 'X')[/font]
und im Zweifelsfall ist zu prüfen, ob 'X' ein String ist, ansonsten muss es
[font=courier new]if (i_pd == X)[/font]
heißen.

Gruß
armine

Antworten