Optionsfeld soll Datumsfeld leeren

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Optionsfeld soll Datumsfeld leeren

Beitrag von schulzenman » 04.10.2008, 10:43

Hi,

Ich habe vier sich gegenseitig ausschließende Optionsfelder in mein PDF Formular eingebracht. Neben dem 3. und 4. Optionsfeld befindet sich ein Datumsfeld. Wählt man Optionsfeld 1 oder 2, sollen mit einem Script die Datumsfelder neben Optionsfeld 3 und 4 geleert werden.

Vielen Dank für Eure Hilfe.

Gruß Schulzenman

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Optionsfeld soll Datumsfeld leeren

Beitrag von FileAffairs » 05.10.2008, 10:33

Hallo Schulzenmann,

in JavaScript sieht das so aus

Code: Alles auswählen

datumsfeld.rawValue = null;
Gruß
FileAffairs

schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Optionsfeld soll Datumsfeld leeren

Beitrag von schulzenman » 05.10.2008, 14:02

Vielen Dank FileAffairs,

ich probiere es gleich aus und werde berichten ob ich es hinbekomme.

Ich benutze folgendes Script, um ein Feld vor dem Formularversand per e-Mail zu prüfen, ob dieses gefüllt ist.

var Test;

if(txtf_78.rawValue == null | txtf_78.rawValue == " ")
{
    Test = 0;
    txtf_78.border.edge.color.value = "255,0,0";
}
else
{
    Test = 1;
}


if(Test == 1)
{
   
}
else
{
    app.alert("Prüfen Sie Ihre Daten");
}


Das Script funktioniert auch soweit, nur wenn ich die Schaltfläche in der das Script hinterlegt ist, in ein anderes Teilformular ziehe, funktioniert die Prüfung nicht mehr.
Desweiteren möchte ich nur Felder die sichtbar sind prüfen lassen. Ich habe mehrere Teilformulare die aus dem Layout ausgeblendet sind. Erst wenn eines von denen durch ein Dropdownfeld angewählt wird, soll dieses auch zur Prüfung herangezogen werden.

Ich bitte noch einmal um Eure Hilfe. Das Formular habe ich schon gepostet unter meinem ersten Bericht.

Vielen Dank,

Gruß Schulzenman

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Optionsfeld soll Datumsfeld leeren

Beitrag von FileAffairs » 05.10.2008, 14:26

Hallo Schulzenmann,

das Problem mit der Prüfung besteht darin, dass der Name des Feldes nur aufgelöst werden kann, wenn sich die Schaltfläche in demselben Teilformular befindet wie das zu prüfende Feld.

Zudem stimmt die Syntax für das oder nicht.

Der Code sollte so aussehen:

Code: Alles auswählen

// Suche das Feld im Formular. "teilformular" muss entsprechend
// angepasst werden.
var oField = xfa.resolveNode("teilformular.txtf_78")

if(oField.rawValue == null || oField.rawValue == " ")
{
    Test = 0;
    txtf_78.border.edge.color.value = "255,0,0";
    app.alert("Prüfen Sie Ihre Daten");
}
Zur Prüfung nur der sichtbaren Felder baust Du Dir am besten eine Liste aller Felder auf und prüfst dort ob diese sichtbar sind oder nicht:

Code: Alles auswählen

// Liste aller Felder einer Seite auf
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
    var oFields = xfa.layout.pageContent(nPageCount, "field");
    var nNodesLength = oFields.length;
   // Set the field property.
   for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
       if (oFields.item(nNodeCount).presence == "visible") {
              // tu was
       }
   }
}
Schönen Gruß
FileAffairs

schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Optionsfeld soll Datumsfeld leeren

Beitrag von schulzenman » 05.10.2008, 21:32


schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Optionsfeld soll Datumsfeld leeren

Beitrag von schulzenman » 05.10.2008, 21:47

Was hälst Du von diesem Script?

Code: Alles auswählen

var isnf = this.numFields;
var fehlFelder ="";
var feldFocus = "";

// Schleife fuer alle Felder
for (var i = 0; i < this.numFields; i++){
var isnfn = this.getNthFieldName(i);
var anfn = this.getField(isnfn);
var typfield = anfn.type; // nach Art des Feldes suchen

if(typfield!="button"){
if (anfn.required == true && anfn.display==display.visible){
if (anfn.value == "" || anfn.value == "Off"){
//app.alert("Feld : " + isnfn + " ist auf required!");
if (fehlFelder == ""){
feldFocus = anfn;
}
anfn.strokeColor = color.red;
//fehlFelder = fehlFelder + isnfn + "
";
fehlFelder = fehlFelder + anfn.userName + "
";
} // Ende wenn nix im erforderlichen Feld
else{
anfn.strokeColor = color.transparent;
}
} // Ende wenn erforderlich
} // Ende wenn nicht Button
} // Ende alle Felder

if(fehlFelder!=""){
app.alert("Bitte füllen Sie noch die folgenden Felder aus:

" + fehlFelder + "
Diese Felder wurden rot umrandet.");
var erfkontrolle = "ja";
this.getField("Inhaber.Name").setFocus();
}
else{
app.alert("Alles OK, jetzt würde der Druckvorgang beginnen!");
}
Sollte das so etwas sein wie ich suche, bitte sage mir was ich noch anpassen muss!
z.B. das Wort "numFields"? Muss das ersetzt werden mit der Bezeichnung meiner Felder?

Danke für die viele Mühe.

schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Optionsfeld soll Datumsfeld leeren

Beitrag von schulzenman » 04.11.2008, 18:53

Hier meine Lösung, mit der ich sehr zufrieden bin:

Code: Alles auswählen

var fehler = false;
var fehler_text = "";
if ( Formular1.Teilformular1.OF_beschaeftigung.rawValue == "") {
    fehler = true;
    fehler_text = fehler_text + "Bitte Beschäftigungsverhältnis auswählen!\n";
}
if ( Formular1.Teilformular1.OF_anrede.rawValue == "") {
    fehler = true;
    fehler_text = fehler_text + "Bitte Anrede auswählen!\n";
}
if ( Formular1.Teilformular1.txf_name.rawValue == null) {
    fehler = true;
    fehler_text = fehler_text + "Name fehlt!\n";
}
if ( Formular1.Teilformular1.txf_vorname.rawValue == null) {
    fehler = true;
    fehler_text = fehler_text + "Vorname fehlt!\n";
}
if ( Formular1.Teilformular1.txf_strasse.rawValue == null) {
    fehler = true;
    fehler_text = fehler_text + "Straße fehlt!\n";
}
if ( Formular1.Teilformular1.txf_plz.rawValue == null) {
    fehler = true;
    fehler_text = fehler_text + "PLZ / Wohnort fehlt!\n";
}

// pruefe Teilformulare in Abhaengigkeit vom Inhalt des Optionsfeldes "Beschaeftigungsverhaeltnis"
// Optionsfeld 1 "gewerblicher Arbeitnehmer"
if( Formular1.Teilformular1.OF_beschaeftigung.rawValue == 1) {
    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtstag.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtstag fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtsort.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtsort fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.dropdown_familie.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Familienstand fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_nationalitaet.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Nationalität fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_beruf.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "erlernter Beruf oder z.Z. ausgeübte Tätigkeit fehlt!\n";
    }

}

// Optionsfeld 2 "Angestellter"
if( Formular1.Teilformular1.OF_beschaeftigung.rawValue == 2) {
    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtstag.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtstag fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtsort.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtsort fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.dropdown_familie.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Familienstand fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_nationalitaet.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Nationalität fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_beruf.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "erlernter Beruf oder z.Z. ausgeübte Tätigkeit fehlt!\n";
    }

}

// Optionsfeld 4 "gewerblicher Arbeitnehmer"
if( Formular1.Teilformular1.OF_beschaeftigung.rawValue == 4) {
    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtstag.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtstag fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtsort.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtsort fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.dropdown_familie.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Familienstand fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_nationalitaet.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Nationalität fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_beruf.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "erlernter Beruf oder z.Z. ausgeübte Tätigkeit fehlt!\n";
    }

}

// Optionsfeld 6 "gewerblicher Arbeitnehmer"
if( Formular1.Teilformular1.OF_beschaeftigung.rawValue == 6) {
    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtstag.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtstag fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtsort.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtsort fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.dropdown_familie.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Familienstand fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_nationalitaet.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Nationalität fehlt!\n";
    }

    if( Formular1.Teilformular1.Teilformular1_1.txf_beruf.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "erlernter Beruf oder z.Z. ausgeübte Tätigkeit fehlt!\n";
    }

}

//pruefe dropdown Feld "geplante Maßnahme" auf Inhalt
if ( Formular1.Teilformular1.massnahme.rawValue == null) {
    fehler = true;
    fehler_text = fehler_text + "Bitte Maßnahme auswählen!\n";
}

// pruefe Teilformulare in Abhaengigkeit vom Inhalt des dropdown Feldes
// Dropdownlistenelement 1 "Einstellung / Eigruppierung"
if( Formular1.Teilformular1.massnahme.rawValue == 1) {
    if( Formular1.Teilformular2.datum_ab.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Eintrittsdatum fehlt!\n";
    }

    if( Formular1.Teilformular2.txf_als.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Bezeichnung der auszuführenden Tätigkeit fehlt!\n";
    }

    if( Formular1.Teilformular2.txf_abteilung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Abteilung fehlt!\n";
    }

    if( Formular1.Teilformular2.dropdown_einstufung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Vorgesehene tarifliche Einstufung fehlt!\n";
    }

    if ( Formular1.Teilformular2.Optionsfeldliste.rawValue == "") {
        fehler = true;
        fehler_text = fehler_text + "Bitte eine Bedingung auswählen!\n";
    }

}

//pruefe Datumsangaben in Abhaengigkeit der Optionsfeldliste fuer die "Einstellung/Eingruppierung"
if( Formular1.Teilformular2.Optionsfeldliste.rawValue == 2) {
if( Formular1.Teilformular2.datum_bis.rawValue == null) {fehler = true;
fehler_text = fehler_text + "Datum, bis wann die Einstellung geplant ist fehlt!\n";
            }
}
        if( Formular1.Teilformular2.Optionsfeldliste.rawValue == 3) {
            if( Formular1.Teilformular2.datum_probe_bis.rawValue == null) {
                fehler = true;
                fehler_text = fehler_text + "Datum, bis wann die Einstellung zur Probe geplant ist fehlt!\n";
            }
}            
        if( Formular1.Teilformular2.Optionsfeldliste.rawValue == 4) {
            if( Formular1.Teilformular2.txf_sonstiges1.rawValue == null) {
                fehler = true;
                fehler_text = fehler_text + "Sie haben eine Bedingung zur Einstellung / Eingruppierung ausgewählt, aber keine Angaben gemacht!\n";
            }
}

// Dropdownlistenelement 2 "Umgruppierung"
if( Formular1.Teilformular1.massnahme.rawValue == 2) {
    if( Formular1.Teilformular3.datum_ab.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, ab wann die Maßnahme geplant ist fehlt!\n";
    }
    
    if( Formular1.Teilformular3.dropdown_lohn1.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "jetzige Lohn-/Gehaltsgruppe fehlt!\n";
    }

    if( Formular1.Teilformular3.dropdown_lohn2.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "zukünftige Lohn-/Gehaltsgruppe fehlt!\n";
    }

    if( Formular1.Teilformular3.txf_begruendung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Begründung zur Umgruppierung fehlt!\n";
    }

}

// Dropdownlistenelement 3 "Versetzung"
if( Formular1.Teilformular1.massnahme.rawValue == 3) {
    if( Formular1.Teilformular4.datum_ab.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, ab wann die Versetzung geplant ist fehlt!\n";
    }
    
    if( Formular1.Teilformular4.txf_abteilung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Abteilung fehlt!\n";
    }

    if( Formular1.Teilformular4.txf_als.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Bezeichnung der auszuführenden Tätigkeit fehlt!\n";
    }

    if( Formular1.Teilformular4.dropdown_einstufung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Vorgesehene tarifliche Einstufung fehlt!\n";
    }
    
    if( Formular1.Teilformular4.txf_begruendung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Begründung fehlt!\n";
    }

}

// Dropdownlistenelement 4 "Leiharbeit"
if( Formular1.Teilformular1.massnahme.rawValue == 4) {
    if( Formular1.Teilformular5.datum_ab.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, ab wann der/die Leiharbeiter/in eingesetzt werden soll fehlt!\n";
    }
    
    if( Formular1.Teilformular5.datum_bis.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, bis wann der/die Leiharbeiter/in eingesetzt werden soll fehlt!\n";
    }

    if( Formular1.Teilformular5.txf_als.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Bezeichnung der auszuführenden Tätigkeit fehlt!\n";
    }

    if( Formular1.Teilformular5.txf_abteilung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Abteilung fehlt!\n";
    }

    if( Formular1.Teilformular5.txf_zweck.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Zweck fehlt!\n";
    }

    if( Formular1.Teilformular5.txf_gestellt.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Zeitarbeitsunternehmen fehlt!\n";
    }

    if( Formular1.Teilformular5.txf_stunde.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "vereinbarter Stundensatz fehlt!\n";
    }

}

// Dropdownlistenelement 5 "Ausbildung"
if( Formular1.Teilformular1.massnahme.rawValue == 5) {
    if( Formular1.Teilformular6.datum_vom.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, ab wann die Ausbildung beginnt fehlt!\n";
    }
    
    if( Formular1.Teilformular6.datum_bis.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, bis wann die Ausbildung erfolgt fehlt!\n";
    }

    if( Formular1.Teilformular6.txf_zur.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Berufsbezeichnung fehlt!\n";
    }

    if( Formular1.Teilformular6.dropdown_einstufung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Vorgesehene tarifliche Einstufung fehlt!\n";
    }

}

// Dropdownlistenelement 6 "Praktikum"
if( Formular1.Teilformular1.massnahme.rawValue == 6) {
    if( Formular1.Teilformular7.datum_vom.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, ab wann der/die Praktikant/in beschäftigt wird fehlt!\n";
    }
    
    if( Formular1.Teilformular7.datum_bis.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Datum, bis wann der/die Praktikant/in beschäftigt wird fehlt!\n";
    }

    if( Formular1.Teilformular7.txf_abteilung.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Abteilung/Bereich fehlt!\n";
    }

}

if ( fehler == true) {
    app.alert( "Achtung! Sie haben nicht alle Felder ausgefüllt.\n\n" + fehler_text);
} else {
    xfa.host.print(1, "0", (xfa.host.numPages -1).toString(), 0, 1, 0, 0, 0);
}

Antworten