Feldtyp ändern durch Dropdown-Listen-Auswahl

Sammlung von Vorlagen und Hilfestellungen
uta
Beiträge: 26
Registriert: 24.02.2010, 13:18

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von uta » 26.02.2010, 09:53

Hallo,

ich bin dabei ein kleines Formular zur Bestandspflege zu erstellen (siehe Anlage).

In Abhänigkeit von der getroffenen Auswahl in den Dropdown-Listen "Bestand" und "Herkunft" sind einige Felder sichtbar oder nicht bzw. aktiv oder nicht. Das habe ich aus meiner Sicht gelöst. Kann sein, dass es eleganter geht.

Wobei ich gerne Hilfe hätte, ist folgendes:
Wenn in der Dropdown-Liste "Bestand" der Wert "Neu" ausgewählt wird, sollen unter Stichwörter zehn Textfelder stehen (wie in der Anlage dargestellt).
Wird in der Drodown-Liste "Bestand" jedoch der Wert "Bestand" ausgewählt, sollen aus den ersten vier Textfeldern (Stichwort_1 ... Stichwort_4) editierbare Dropdown-Listen mit Vorgabewerten werden.
Wer kann helfen?

Außerdem will ich für jedes Feld eine Ausfüllhilfe anbieten. Ich dachte an einen kleinen Button hinter jedem Feld, bei dem sich mittels Click- Ereignis ein Javascript- Fenster mit dem Hilfetext öffnet. Beim Testen habe ich für den Button ein Bildfeld gewählt und wundere mich, dass sich bei jedem Click auf das Feld erneut der Durchsuchenpfad für die Bildquelle öffnet, obwohl ich das Häkchen bei Bilddaten einbetten im Reiter Feld bei Objekt gesetzt habe. Ich habe diesen Button deshalb in der Anlage wieder entfernt.
Hat jemand eine Idee hierzu oder gar eine bessere Lösung?

Viele Grüße
Uta  

 

 

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

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von walde » 26.02.2010, 10:43

Hallo uta,

 

Leider sit es nicht möglich den Feldtyp zur Laufzeit zu ändern (aus einem Textfeld ein Dropdown Feld machen). Sie können hier aber mit Teilformularen arbeiten, welche bei der entsprechenden Auswahl ein bzw. ausgeblendet werden.

Beispiele dür das Befüllen von DropDorn Feldern mit Daten gibts unter nachfolgenden Links:

http://www.acronaut.de/forum44/1392.html

http://www.acronaut.de/forum44/1544.html

http://www.acronaut.de/forum14/977.html

Zu Teilformulare Ein bzw. Ausblenden:

http://www.acronaut.de/forum44/1403.html

 

Gruß,

 

Walde

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

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von nele_sonntag » 26.02.2010, 23:46

Hallo Uta,

ich würde Dein Problem so wie Walde auch schon empfohlen hat, mit zwei Teilformularen lösen. Eines für die DropDownAuswahl "NEU" mit 10 Textfeldern und eines für die Auswahlmöglichkeit "BESTAND". Hier packst Du in das Teilformular Deine editierbaren DropDown's. Im CHANGE-Ereignis des Auswahl-DroDown's lässt Du je nach Auswahl das eine oder andere Teilformular ein- bzw. ausblenden.

Code: Alles auswählen

switch(xfa.event.newText){

case "neu":

tf_neu.presence="visible";

tf_bestand.presence="hidden";

break;

case "bestand":

tf_bestand.presence="visible";

tf_neu.presence="hidden";

break; 

}
Die Hilfe kann man auch unterschiedlich realisieren. (siehe die 3 Beispiele im PDF)
  • Entweder bei Feldeintritt einen Hilfe-Text ausgeben.
  • Einen normalen Button neben dem Feld, der bei Klick einen Hilfe-Text ausgibt.
  • Über einen normalen Button ein statisches BILD-Feld legen und im CLICK-Ereignis des Buttons den Code für den Hilfe-Text hinterlegen.
Liebe Grüße Mandy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

uta
Beiträge: 26
Registriert: 24.02.2010, 13:18

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von uta » 28.02.2010, 20:06

Hallo Walde und hallo Mandy,

vielen Dank für Eure schnellen Antworten und Eure hilfreichen Tipps.

Die Anwenderhilfe habe ich schon in mein Formular eingebaut und dabei statt Bildfeldern eben Textfelder verwendet.

Die Lösung desTextfeld-Dropdownfeld-Problems ist im Prinzip auch klar.

Also, danke erst mal.

Viele Grüße
Ute

uta
Beiträge: 26
Registriert: 24.02.2010, 13:18

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von uta » 01.03.2010, 18:58

Hallo Mandy und hallo Walde,

prinzipiell bin ich zwar in der Lage mit if und else ein Teilformular aus- oder einzublenden, allerdings gelingt es mir nicht mit Switch, wie Du es vorgeschlagen hast, Mandy. Könntest Du mal draufschauen, warum es nicht funktioniert?

Ein weiteres Problem ist mit den Pflichtfeldern verbunden.
Bei Bestand = Neu müssen Name und Herkunft in jedem Fall ausgefüllt werden.
Das habe ich wieder im Prinzip gelöst, aber eben nicht ganz.
Wird bei Name und Herkunft jeweils ein Leerzeichen eingegeben, dann lässt sich das Formular auch speichern oder per E-Mail senden. Das soll aber nicht sein. Wie kann ich das verhindern?

Viele Grüße
Uta

 

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

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

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von nele_sonntag » 01.03.2010, 20:07

Hallo Uta,

schaue es mir gleich mal an.

Eine (vielleicht nicht elegante, aber praktikable) Lösung für Dein Pflichtausfüllen, wäre das Überprüfen der Länge, dessen, was eingegeben wurde im EXIT-Ereignis des betreffenden Feldes.

Code: Alles auswählen

//wenn die Länge des Feldes kleiner 3 ist - schließt also ausversehen getippte Leerzeichen aus, dann...

if(this.rawValue.length < 3){

//Meldung ausgeben

xfa.host.messageBox("Bitte vernuenftigen Text eingeben!", "Hinweis", 3, 1);

//Feld leeren

Name.rawValue = "";

//Focus auf dem Feld belassen

xfa.host.setFocus("Name");

}else

{}
Die Felder, die Du bei INITIALIZE ausblendest (bspw. Dein URL-Feld), würde ich zunächst einfach bei Objekt - Präsenz - auf "Ausgeblendet (aus dem Layout ausschließen) stellen. Bei Feldern, die per Skript ein- und ausgeblendet werden, würde ich das so machen, wobei natürlich auch Deine Variante funktioniert :-)


Bei Deinem SWITCH-Problem ist mir folgendes aufgefallen, Du hattest noch meine Namenskonventionen da stehen. Da Du keine Teilformulare mit den entsprechenden Namen hattest, konnte auch nichts passieren. Habe es jetzt entsprechend angepasst. Schaue mal ins CHANGE-EREIGNIS Deines DropDown.

Liebe Grüße Mandy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

uta
Beiträge: 26
Registriert: 24.02.2010, 13:18

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von uta » 02.03.2010, 08:05

Hallo Mandy,

nur mal schnell bezüglich des Leerzeichen- Problems nachgefragt. 
Willst Du mir damit sagen, das man mit Adobe- JavaScript nicht direkt auf Leerstellen prüfen kann. Zumindest habe ich mich damit auch schon vergeblich bemüht.

Liebe Grüße
Uta

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

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von nele_sonntag » 02.03.2010, 08:12

Hallo Uta,

geht bestimmt. Eine Leerstelle hat mit Sicherheit auch einen bestimmten (ANSI) Code, mit dem man überprüfen könnte, aber das weiß ich leider nicht. Außer Du suchst in sämtl. verfügbarer Literatur nach dem Auslesen bestimmter Zeichen. Allerdings könnte ich mir vorstellen, dass Du es trotzdem mit der Länge des Eingegebenen kombinieren müsstest, denn wenn jemand regulär seinen Namen eingibt, hast Du ja ein "reguläres" Leerzeichen zwischendrin.

Warte mal auf Walde. Wenn es eine professionelle Lösung gibt, dann weiß er sie auf jeden Fall.

Wußte nicht, wie dringend Dein Anliegen war, deswegen mein Vorschlag.

Liebe Grüße Mandy

uta
Beiträge: 26
Registriert: 24.02.2010, 13:18

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von uta » 02.03.2010, 09:02

Hallo Mandy,

in jedem Fall danke ich Dir für Deinen Hinweis.

Sicher hast Du Recht, denn mit
Name.rawValue == " "
bspw. kann ich zwar ein Leerzeichen ausdrücken, aber es löst das Problem nicht wirklich. Mit auf Mindestlänge von 3 Zeichen prüfen kann ich auch das durch die leere Auswahl bei den Dropdown- Feldern entstandene Leerzeichen wirksam ausschließen.

Etwas eilig ist es schon.
Also danke und bis später.

Liebe Grüße
Uta

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

Feldtyp ändern durch Dropdown-Listen-Auswahl

Beitrag von nele_sonntag » 02.03.2010, 10:07

Hallo Uta,

habe hier noch mal geschaut:

http://de.selfhtml.org/javascript/objekte/regexp.htm

Du könntest einen regulären Ausdruck definieren und mit der Funktion match() diesen überprüfen. Es gab schon mal so ein Beispiel, vielleicht kannst Du es Dir anpassen.

Beispiel: /s/   ..findet jede Art von Weißraum-Zeichen ("Whitespace"), also f, n, t, v und das Leerzeichen.

http://www.acronaut.de/forum44/1395.html

Liebe Grüße Mandy


Antworten