EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Sammlung von Vorlagen und Hilfestellungen
Benutzeravatar
Nicole
Beiträge: 94
Registriert: 25.03.2009, 11:30

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von Nicole » 16.09.2010, 11:40

Hi,

obwohl das TExtfild1 nicht gefüllt ist, wird das PDF per E-Mail versenden :o(
wo ist mein Fehler hier:

<event activity="click" name="event__click">
               <script contentType="application/x-javascript">var Valid = true;
var Sammelmeldung = "";

//bedeutet: wenn die OFL leer ist/also nichts angeklickt wurde
if(TextField1.rawValue == 0){

//dann weise der Variablen Valid den Wert false zu
    Valid = false;

//Variable Sammelmeldung wird der Wert, der bereits in der Variablen Sammelmeldung enthalten ist plus der String "OFL1" zugewiesen, danach ein Zeilenumbruch
    Sammelmeldung = Sammelmeldung + "TextField1" + "\n";
}


if(Valid){
    event.target.mailDoc({
        bUI: false,
        cTo: "test@test.de",
        cSubject: "Betreff",
        cMsg: "Nachricht"
    });
}
else{
    app.alert("Folgende Felder wurden nicht ausgefüllt.\n\n" + Sammelmeldung + "\nBitte füllen Sie diese Felder vor Versand der E-Mail vollständig aus.",1);
}

</script>
            </event>
            <event activity="click" name="event__click">
               <script contentType="application/x-javascript">


if (txt_Unternehmen.parents.rawValue == null) xfa.host.messageBox("Bitte geben Sie ein Unternehmen ein!");

</script>
            </event>



marco79
Beiträge: 4
Registriert: 11.11.2011, 08:26

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von marco79 » 11.11.2011, 09:36

Hallo,

ich wollte einfach das Script so ändern, dass nur Felder, die mit "V" anfangen, abgefragt werden.

Code: Alles auswählen

for(var j = 0; j < nodesLength; j++){
        var oItem = oFields.item(j);
        
        if(oItem.name.substring(1,1) == "V"){
            if(oItem.ui.oneOfChild.className != "button" & oItem.rawValue == null | oItem.rawValue == ""){
                Valid = false;
                Sammelmeldung = Sammelmeldung + oItem.name + "\n";            
            }
         }
    }
Funktioniert aber leider so nicht.

Hat bitte jemand einen Tipp?

Gruß Marco

DerPappa
Beiträge: 2
Registriert: 30.03.2012, 13:34

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von DerPappa » 30.03.2012, 14:32

Hallo Walde,
das ist genau was ich brauche. nun bin ich aber komplett neu bei LCD und habe keine Ahnung wie ich das script in deiner PDF Datei finden und kopieren kann :(
Ich würde mich wahnsinnig über etwas Hilfe dabei freuen.

Danke und Gruß aus Ulm
Stephan

DerPappa
Beiträge: 2
Registriert: 30.03.2012, 13:34

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von DerPappa » 30.03.2012, 14:38

Ich nehm alles wieder zurück. Wer lesen kann ist klar im Vorteil...;)
Danke für das Script!

Gruß und schönes WE
Stephan

sopuab
Beiträge: 13
Registriert: 04.12.2012, 02:29

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von sopuab » 04.12.2012, 05:24

Hallo an die Experten hier,

das Forum hat mir schon viel geholfen. Ich habe ohne große Vorkenntnisse es geschafft, ein Formular mit einem Mail-Sendebutton zu versehen und sogar noch einige Feldinhalte in Mailbetreff und Mailtext einzubauen.

Ich bin nur am verzweifeln mit der Pflichtfeldprüfung. Ich habe folgende Pflichtfelder in meinem Formular (das Formulart hat noch sehr viel mehr Felder, aber diese werden zwingend benötigt) :  : Beratung vom (Datums/Kalenderfeld), Kundenname, Kundennummer (Freitextfelder), Beratername (einfache Dropdownliste) und Versand der Kundenunterlagen (einfache Dropdownliste für versch. Orte). Solange eines dieser Felder nicht gefüllt ist, sollte das Formular möglichst nicht über die Schaltfläche gesendet werden können. Alle Scripte die ich bis jetzt aus diesem Thread probiert habe, brachten keinen Erfolg. Der Button verzweigt sofort in Outlook. Dort befüllt es allles korrekt (die nicht ausgefüllten Felder erscheinen in den Mail-Variablen als "null".)

Das Cript dazu sieht so aus :
//E-Mail-Adresse auslesen/befüllen
var Mailto = "testa@b.de";

//Betreff auslesen/befüllen
var Betreff = "Produktionsauftrag vom_" + Datumvom.rawValue + "_Personennummer_" + Personennummer.rawValue + "_Kunde_" + Kundenname.rawValue + "_Berater_" + Berater.rawValue;


//Nachricht zusammensetzen/befüllen
var Nachricht = "Versand der Unterlagen an_" + Versand.rawValue;

//E-Mail-Adresse für CC auslesen/befüllen
var CC = "testcc@b.de";

//E-Mail-Adresse für BCC auslesen/befüllen
//var BCC = "testbcc@test.de";

var Mail = "mailto:" + Mailto + "?Subject=" + Betreff + "&Body=" + Nachricht + "&cc=" + CC;

//cSubmitAs: "PDF" versendet das PDF als PDF im Anhang
event.target.submitForm({
cURL: Mail,
bEmpty: true,
cSubmitAs: "PDF"
});


AdminLCD1
Beiträge: 45
Registriert: 23.03.2010, 13:44

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von AdminLCD1 » 04.12.2012, 09:11

Hallo sopuab,

anbei ein Mailversand, der bei mir funktioniert. Die Kursiven Textstellen sind von dir individuell zu ändern. Den "if..." Teil kannst du beliebig oft reinkopieren. Eventuell musst du auch die "== null" Bedingung anpassen (im Hinblick auf die Dropdownfelder).

[fontsize=2][fontsize=2]var[/fontsize][/fontsize][fontsize=2] Valid [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]true[/fontsize][/fontsize][fontsize=2];
[/fontsize][fontsize=2][fontsize=2]var[/fontsize][/fontsize][fontsize=2] Sammelmeldung [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] "";
[/fontsize][fontsize=2][fontsize=2]if[/fontsize][/fontsize][fontsize=2]( Pfad.Feldname.rawValue [/fontsize][fontsize=2][fontsize=2]==[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]null[/fontsize][/fontsize][fontsize=2] ){Valid [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]false[/fontsize][/fontsize][fontsize=2]; Sammelmeldung [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] Sammelmeldung [/fontsize][fontsize=2][fontsize=2]+[/fontsize][/fontsize][fontsize=2] "Fehlermeldung" [/fontsize][fontsize=2][fontsize=2]+[/fontsize][/fontsize][fontsize=2] "\n";} [/fontsize][fontsize=2]event.target.mailDoc({bUI[/fontsize][fontsize=2][fontsize=2]:[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]false,[/fontsize][/fontsize][fontsize=2]cTo[/fontsize][fontsize=2][fontsize=2]:[/fontsize][/fontsize][fontsize=2] [url=mailto:Name.Name@domain.de]Name.Name@domain.de[/url][/fontsize][fontsize=2][fontsize=2],
[/fontsize]
[/fontsize]
[fontsize=2]cSubject[/fontsize][fontsize=2][fontsize=2]:[/fontsize][/fontsize][fontsize=2] "Betreff"[/fontsize][fontsize=2][fontsize=2],
[/fontsize]
[/fontsize]
[fontsize=2]cMsg[/fontsize][fontsize=2][fontsize=2]:[/fontsize][/fontsize][fontsize=2] ""});
}
[/fontsize][fontsize=2][fontsize=2]else[/fontsize][/fontsize][fontsize=2]{
app.alert("Folgende Felder wurden nicht ausgefüllt.\n\n" [/fontsize][fontsize=2][fontsize=2]+[/fontsize][/fontsize][fontsize=2] Sammelmeldung [/fontsize][fontsize=2][fontsize=2]+[/fontsize][/fontsize][fontsize=2] "\nBitte füllen Sie diese Felder vor Versand der E-Mail vollständig aus.",1);
}[/fontsize]

[fontsize=2]Grüsse
Bastl[/fontsize][fontsize=2]
[/fontsize]

Wespe
Beiträge: 29
Registriert: 15.08.2014, 13:40

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von Wespe » 18.08.2014, 16:34

Julischka hat geschrieben:...siehe Anhang.

Danke Walde für diese geniale Vorlage!
Hallo Julischka,
die Vorlage von Walde funktioniert im Original wunderbar. Nun habe ich sie um einige Pflicht- und Dropdown-Felder erweitert und bekomme selbst dann eine Fehlermeldung, wenn alle Pflichtfelder belegt sind.

----- Formular1.#subform[0].Schaltfläche1::click: - (JavaScript, Client) ---------------------------

var Valid = true;
var Sammelmeldung = "";
for(var i = 0; i < xfa.host.numPages; i++){
    var oFields = xfa.layout.pageContent(i, "field");
    var nodesLength = oFields.length;           
    for(var j = 0; j < nodesLength; j++){
        var oItem = oFields.item(j);
       
        if(oItem.ui.oneOfChild.className != "button" & oItem.rawValue == null | oItem.rawValue == ""){
            Valid = false;
            Sammelmeldung = Sammelmeldung + j +" "+oItem.name + "\n";           
        }
    }
}
if(Valid){
    var KommuneName = Kommune.rawValue;
    event.target.mailDoc({
        bUI: false,
        cTo: "test@xx.de",
        cSubject: "Formular Nutzer Kunde für " + KommuneName,
        cMsg: "Nachricht"
    });
}
else{
    app.alert("Folgende Felder wurden nicht ausgefüllt.\n\n" + Sammelmeldung + "\nBitte füllen Sie diese Felder vor Versand der E-Mail vollständig aus.",1);
}

Scheinbar wird ein Feld zu viel erkannt.

Weiß jemand, wo der Fehler liegt?
P.S. Ich bin absoluter Neuling in LCD und JavaScript.

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

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von armine » 18.08.2014, 18:03

Hallo Werner,

deine Abfrage habe ich nachgebessert. Mach dir mal Gedanken, wie sinnvoll sie ist, wenn eine DDL mit »Ihr Eintrag« und eine weitere mit »Einwohnermeldeamt« vorbelegt ist.

Das Format habe ich auf DIN A4 geändert.

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

Wespe
Beiträge: 29
Registriert: 15.08.2014, 13:40

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von Wespe » 19.08.2014, 10:14

Hallo armine,

vielen Dank für Deine schnelle Reaktion.

1) Problem Vorbelegung der DDL: Da bin ich selbst noch am Grübeln. Der Kunde kann aus dem Dropdown Menü einen Wert auswählen, soll aber auch noch die Möglichkeit haben, einen abweichenden Wert einzugeben. Ich verstehe, bei einer sinnlosen Vorbelegung wird diese bei E-Mailversand auch akzeptiert. Der Kunde soll erkennen, daß er außer den Werten der Dropdown Liste auch eigene Eingaben tätigen kann.

2) Pflichtfelder: diese hatte ich mit dem LCD erstellt und auch die Option "Benutzereingabe erforderlich" gesetzt. Da kannte ich das JS-Skript aus dem Forum noch nicht, wo ja die Pflichtfelder abgefragt werden. Ist das jetzt "doppelt gemoppelt"?

3) Kosmetik: die Linie unterhalb des Tabellenkopfes sollte eine einheitliche Stärke haben, habe da schon mehrmals herumexperimentiert.

4) und das Wichtigste: wodurch wurde eigentlich die Meldung über ein nichtgefülltes Pflichtfeld verursacht. Wurde irgendein anderes Feld als Pflichtfeld in meinem abgewandelten Skript identifiziert?

m.f.G. Werner
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten