Relationen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Relationen

Beitrag von nele_sonntag » 03.11.2010, 13:30

Nee, schön wärs, wenn ich das gleiche Wissen wie walde oder FileAffairs hätte, aber so bin ich nur eine arme BWL Studentin in der Diplomarbeit, die vorher einen Informatikabschluss gemacht hat und mich rege beteilige, um dem einen oder anderen zu helfen ;-) und deswegen auch immer nur begrenzt Zeit hat, sich selbst in den Themen weiterzubilden oder für andere zu knobeln :-(( obwohl es mich sehr interessiert.

Kann selbst für mich immer nur Problemlösung betreiben und keine systematische Wissensaneignung.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Relationen

Beitrag von nele_sonntag » 03.11.2010, 13:45

Also, wenn ich ins EXIT-Ereignis sich den aktuellen Wert ausgeben lässt:

Code: Alles auswählen

xfa.host.messageBox(AHS_2.rawValue,"Hinweis",3,0);
gibt er tatsächlich den Bindungswert, also 1, 2..zurück.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Relationen

Beitrag von nele_sonntag » 03.11.2010, 14:18

Schau mal hier. Vlt. hilft das: http://acronaut.de/view_topic.php?id=17 ... +umwandeln

Mein Beitrag Geschrieben: 19 Mar 2010 14:30

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Relationen

Beitrag von nele_sonntag » 03.11.2010, 14:30

Also jetzt hätte ich was, allerdings um vier Ecken, aber es geht.

Schreibe jeweils nach DD-Auswahl einen Wert (Umwandlung in eine Zahl) in ein Dezimalfeld und vergleiche die Dezimalfelder und lasse eine Meldung ausgeben.

Die Dezimalfelder kannst Du ja unsichtbar machen, wenn Dir der Lösunsansatz gefällt.

Code: Alles auswählen

//im CHANGE von DD 2

switch(xfa.event.newText){
    case "20":
    Dezimalfeld2.rawValue=Number(2.0);
    if(Dezimalfeld2.rawValue > Dezimalfeld1.rawValue){xfa.host.messageBox("2 darf nicht groesser als 1 sein","Tipp", 3,1);}
    
    break;
    
    case "25":
    Dezimalfeld2.rawValue=Number(2.5);
    if(Dezimalfeld2.rawValue > Dezimalfeld1.rawValue){xfa.host.messageBox("2 darf nicht groesser als 1 sein","Tipp", 3,1);}
    break;
}

Code: Alles auswählen

//im CHANGE von DD1 

switch(xfa.event.newText){
    case "20":
    Dezimalfeld1.rawValue=Number(2.0);
    break;
    
    case "25":
    Dezimalfeld1.rawValue=Number(2.5);
    break;
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Relationen

Beitrag von Merklin » 03.11.2010, 23:54

Hallo merlin80, hallo Mandy,

vielleicht kann man das Problem ja auch ganz anderst lösen.
Hätte da so eine Idee.

In dem man den User erst gar keine Möglichkeit gibt, einen falschen Wert auszuwählen.

Ich meine das so, wenn der User in dem DD 1 einen Wert auswählt, wird erst danach das DD 2 mit den richtigen Werten befüllt.

Z.B. so in DD1 wird 20 ausgewählt, danach erscheint in DD2 nur die Werte 0 bis 20.

Hat allerdings den Nachteil, das der User keine eigenen Werte eintragen darf.

Ich kenne ja den Hintergrund nicht, ich denke aber das es hierbei um irgend welche Sicherungen geht und deren Amph Werte. Da dürfte die Auswahl doch begrenzt sein,oder?

Na, ist ebend nur so eine Idee.

Habe ein Beispiel angehängt, muß aber noch angepasst werden.

LG Merklin
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

merlin80
Beiträge: 37
Registriert: 23.08.2010, 05:53

Relationen

Beitrag von merlin80 » 04.11.2010, 09:15

Erst einmal vielen Dank für die vielen Lösungsansätze.
Hätte aber ehrlich gesagt nicht gedacht, dass es so umständlich sein kann, zwei Zahlen zu vergleichen ;)
Am einfachsten wäre es sicher gewesen, wenn man die Elementwerte (Palette Objekt - Bindung) abfragen könnte.

Allerdings darf man bei der ganzen Sache auch nicht vergessen, dass das intelligentes PDF-Formular einem nichts nützt, wenn der Kunde mit seinem Drucker ein Papierformular daraus macht und dann doch wieder reinschreibt "was er will" - heute morgen so erlebt.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Relationen

Beitrag von nele_sonntag » 04.11.2010, 10:50

Ja, der Ansatz von Merklin ist natürlich gut, daran hatte ich jetzt bei Deiner Aufgabenstellung gar nicht gedacht.

Jaja, der User. Was Du machen könntest, um zumindest den unbedarften User vielleicht ein wenig davon abzuhalten, wäre zum einen aus den Mustervorlagen "Pflichtfelder vor Emailversand abprüfen" das Skript in das PREPRINT-Ereignis des Druck-Buttons zu schreiben.

Dann zum zweiten den Vollbildmodus

Code: Alles auswählen

app.fs.isFullScreen = true;
zu wählen und die Toolbar auszublenden.

Code: Alles auswählen

app.toolbar = false;
Dies im DocReady-Ereignis des Formulars. Den einen oder anderen dürfte das vielleicht abhalten.

Hier die Originaldiskussion von walde: http://acronaut.de/view_topic.php?id=1036&forum_id=18&highlight=vollbild

LG Mandy

Antworten