Erforderliche Felder abfragen und melden (Pflichtfelder)

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:

Erforderliche Felder abfragen und melden

Beitrag von nele_sonntag » 04.03.2014, 14:20

Würde aber stattdessen vielleicht eher die Caption empfehlen!

Code: Alles auswählen

this.caption.value.text.value = "hallo";

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

Erforderliche Felder abfragen und melden

Beitrag von nele_sonntag » 04.03.2014, 14:37

Vielleicht um noch einmal die Typkonvertierung von Javascript zu verdeutlichen, folgendes Beispiel:

Code: Alles auswählen

this.rawValue = 3 + true;
Was glaubst Du, was hier das Ergebnis ist?

Du möchtest die Zahl 3 mit etwas addieren (in diesem Fall einem boolean), Javascript erwartet an dieser Stelle aber eine Zahl und interpretiert true als 1 und das Ergebnis ist 4!!

LG Mandy

KKD
Beiträge: 36
Registriert: 24.02.2012, 11:49

Erforderliche Felder abfragen und melden

Beitrag von KKD » 04.03.2014, 15:36

nele_sonntag hat geschrieben:Ach so Tooltipp. Da du ihn mit

Code: Alles auswählen

this.assist.toolTip.value = "test";
per Script setzten kannst, kannst du ihn auch so auslesen. ;-)
Wo würde ich dass den in das Skript von razmar reinpacken, um den Tolltipp abzufragen?

Was ist die Caption, die Feldbeschriftung? Viele meiner Felder haben keine solche....

Benutzeravatar
radzmar
Beiträge: 961
Registriert: 26.10.2011, 10:18

Erforderliche Felder abfragen und melden

Beitrag von radzmar » 04.03.2014, 18:46

Also den Tooltip würde ich nicht nehmen, der kann ja leer sein, oder ewig lang oder mehrzeilig.
Wenn Du die Objektnamen mit "_" schreibst, dann kannst Du das in der Ausgabe einfach per replace()-Methode durch ein Leerzeichen ersetzen lassen.

Code: Alles auswählen

...
checkObjects.forEach(function(oObject) {
	if (oObject.isNull && oObject.presence == "visible" && oObject.parent.presence == "visible") {
		oObject.validate.nullTest = "error";
		failedObjects.push(oObject.name.replace(/_/g, " "));
	} else {
		oObject.validate.nullTest = "disabled";
	}
});
...

KKD
Beiträge: 36
Registriert: 24.02.2012, 11:49

Erforderliche Felder abfragen und melden

Beitrag von KKD » 04.03.2014, 19:06

Das ist super, so gehts natürlich auch!

NIBEmann
Beiträge: 50
Registriert: 18.02.2011, 07:50

Erforderliche Felder abfragen und melden

Beitrag von NIBEmann » 28.04.2014, 14:53

Hallo,

ich habe folgendes Problem,

wir haben zwei Formulare in einem. Wenn man jetzt Inbetriebnahme anklickt hat man gewisse Pflichtfelder.
Bevor man das Formular also per Mail versenden darf sind diese auszufüllen. Leider sind die Felder auch aktive wenn ich das Formular für Reparaturen auswählt! Wie kann ich das ändern?

Gruß

NIBEmann
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:

Erforderliche Felder abfragen und melden

Beitrag von nele_sonntag » 28.04.2014, 15:57

Da ich davon ausgehe, dass die, die Du nicht benutzt, nicht sichtbar sind, kannst Du darauf abfragen. Also nur die prüfen, die leer und sichtbar sind.

Da Dein PDF recht umfangreich ist, wäre es schön, wenn Du (generell) erzählst, wie Du die Pflichtfelderprüfung umgesetzt hast. :)

Ich würde Dir diese Diskussion empfehlen, in dieser Schleife kannst Du zusätzlich zum Testen auf leeren String und null auf sichtbar abprüfen. http://acronaut.de/forum44/1495.html

Im Übrigen kann man bei Dir beides auswählen. :( Recht unschön, da dann beide Formulare übereinander liegen. Warum nimmst Du nicht für solche Sachverhalte vorgesehene Optionskästchen, statt Kontrollkästchen?

LG Mandy

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

Erforderliche Felder abfragen und melden

Beitrag von nele_sonntag » 28.04.2014, 16:08

Wenn ich Dir noch einen Tip geben darf. Bename Deine Objekte sinnvoll..NumerischeFeld46 macht irgendwann keinen Sinn mehr und Du weißt nicht, wo und in was Du Dich gerade befindest.

Genauso würde ich empfehlen, inhaltliche Bereiche in (sinnvoll benannten) Teilformularen zu organsieren, damit man sich besser zurechtfindet.

Einen Druck-Button kannst Du auf einer Masterseite unterbringen, dann wird er standardmäßig auf jeder Seite eingeblendet.

Und so eine Schreibweise

Code: Alles auswählen

if(Formular1.Kontrollkästchen3.rawValue=="1"){
    Formular1.seite7.presence="visible";
}else{
    Formular1.seite7.presence="hidden";
    }
    if(Formular1.Kontrollkästchen3.rawValue=="1"){
    Formular1.seite8.presence="visible";
}else{
    Formular1.seite8.presence="hidden";
    }
ist schon ein wenig unkonventionell,einfacher und richtig wäre so:

Code: Alles auswählen

if(Kontrollkästchen1.rawValue=="1"){
    Formular1.seite7.presence="visible";
    Formular1.seite8.presence="visible";
}else{
    Formular1.seite7.presence="hidden";
    Formular1.seite8.presence="hidden";
}

NIBEmann
Beiträge: 50
Registriert: 18.02.2011, 07:50

Erforderliche Felder abfragen und melden

Beitrag von NIBEmann » 29.04.2014, 08:22

Hallo Mandy,

generell hast du sicherlich Recht. Das, das Formular so aufgebaut ist, wie es ist liegt an zwei Sachen. Die erste ist, dass als ich das Formular so erstellt hatte alles neuland für mich war und zum zweiten ich nur 3 Tage Zeit hatte es fertig zu stelle:X.

Ich muss natürlich auch noch viel Lernen und Du hast mir ja auch schon viel geholfen:D  

Erschwerend hinzu kommt, dass ich das erstellen der Formualre hier im Unternehmen eigentlich nur nebenbei mache. Eigentlich habe ich eine ganz andere Aufgabe.

Ein Sinvoller Aufbau mit Teilfomularen und benannten Felder macht auf jedenfall sinn ganz klar. in diesem Formular werde ich es nur nicht mehr umsetzen können.

Da mach es mehr Sinn das Formular neu zu erstellen.

Ich muss natürlich auch noch viel Lernen und Du hast mir ja auch schon viel geholfen:D  

NIBEmann
Beiträge: 50
Registriert: 18.02.2011, 07:50

Erforderliche Felder abfragen und melden

Beitrag von NIBEmann » 29.04.2014, 18:34

Hallo Mandy,

ich habe jetzt für die auswahl des jeweiligen Formulares optionsfelder verwendet.

und folgendes Sckript verwendet:

if(Optionsfeldliste.Inbetriebnahme.rawValue=="1"){
    Formular1.t2.presence="visible";
    Formular1.seite9.presence="visible";
    Formular1.seite10.presence="visible";
}else{
    Formular1.t2.presence="hidden";
    Formular1.seite9.presence="hidden";
    Formular1.seite10.presence="hidden";
}

nun geht aber nur nach das Inbetriebnahmeformular auf! Was hab ich da falsch gemacht?
 
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten