EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Sammlung von Vorlagen und Hilfestellungen
Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von nele_sonntag » 25.08.2010, 09:57

Hallo Sebastian,

Ist nicht schwer:

Der Code bedeutet, siehe jeweils Kommentar über den Zeilen.

Du selbst müsstest nur die folgenden Programmierzeilen für all die Felder machen, die Du überwacht haben willst. Bedeutet, dass Du statt anzahl_kopie den Namen Deines Kontrollkästchens nehmen musst. Ein KK ist nicht aktiv, wenn es den Wert = hat, also =="0"
 

Code: Alles auswählen

if(Formular1.Seite_1.tf_kopf.anzahl_kopie.rawValue   == null)
{
            Valid = false;
            Sammelmeldung =   Sammelmeldung + "- Anzahl der Kopien" + "n";
}
 

Code: Alles auswählen

//deklarier Variable und setze den Wert auf true (wahr)
var Valid = true;

//deklarier Variable und setze den Wert auf null
var Sammelmeldung = "";
      
//wenn der Wert des Textfeldes anzahl_kopie null ist, also leer ist, dann
if(Formular1.Seite_1.tf_kopf.anzahl_kopie.rawValue == null)
{
           
            //setze den Wert der VAriablen Valid auf false (falsch)
            Valid = false;

            //weise der Variablen Sammelmeldung den Wert der Variablen Sammelmeldung zu und den String (Text) - Anzahl der Kopien und füge einen Zeilenunumbruch hinzu

            //Du müsstest jetzt also je nach Feld einen anderen Text einsetzen, bspw. - Nachname, denn das ist der Text , der für den Benutzer ausgegebn wird.
            Sammelmeldung = Sammelmeldung + "- Anzahl der Kopien" + "\n";
}


//wenn der Wert der Variablen Valid wahr ist (das ist er nur, wenn alle von Dir aufgeführten Felder ausgefüllt sind, dann
if(Valid){

    //versende per Email
    event.target.mailDoc({
        bUI: false,
        cTo: "test@test.de",
        cSubject: "Betreff",
        cMsg: "Nachricht"
    });
}

//oder
else{

    //gebe diese Meldung aus
    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);
}
 
LG Mandy

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von AdminLCD1 » 26.08.2010, 15:01

[font=Tms Rmn]
Hallo Mandy,

danke. Hat mir wieder geholfen.

Jetzt habe ich wieder eine Frage:
Ich habe zwei Dezimalfelder, von denen eines befüllt sein soll:

"Darlehenssumme" oder "[/font][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]Teilbetrag[/font][/fontsize][/font][/fontsize][font=Tms Rmn]"

Ich habe das mit folgendem Befehl versucht, aber es klappt nicht. Ich denke, dass der OR Befehl falsch ist.
[/font][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]
(if[/font][/fontsize]
[/font][/fontsize]
[/font][/fontsize]
[fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn](V1.TF2.UTF2.UTF2_2.Tabelle1.Zeile1.keine[0].Darlehenssumme.rawValue [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]==[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn] 0)
or[/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]
if[/font][/fontsize]
[/font][/fontsize]
[/font][/fontsize]
[fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn](V1.TF2.UTF2.UTF2_2.Tabelle1.Zeile1.keine[1].Teilbetrag.rawValue [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]==[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]0 )){
Valid [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]=[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn] [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]false[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn];
Sammelmeldung [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]=[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn] Sammelmeldung [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]+[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn] "Rückzahlungshöhe" [/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn]+[/font][/fontsize][/font][/fontsize][/font][/fontsize][fontsize=2][font=Tms Rmn][fontsize=2][font=Tms Rmn] "\n";
}

Oder muss man da addieren? Ich kenn mich in der Programmierung von Java noch nicht so gut aus. Rein von der SQL Logik her müsste ich sagen, wenn(Darlehenssumme + Teilbetrag = 0;"Fehler";"senden") oder so ähnlich.

Grüsse
Sebastian
[/font][/fontsize][/font][/fontsize]

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von nele_sonntag » 26.08.2010, 15:08

Ja, richtig erkannt, dass OR gibts so schon mal nicht.

In Javascript ist || = ODER und && = UND.

 

Code: Alles auswählen

if(Feld1.raValue=="0" || Feld2.raValue=="0")

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von nele_sonntag » 26.08.2010, 15:15

Nicht nur das OR wahr falsch auch die Null.

Code: Alles auswählen

//deklarier Variable und setze den Wert auf true (wahr)
var Valid = true;
//deklarier Variable und setze den Wert auf null
var Sammelmeldung = "";
//wenn der Wert des Dezimalfeldes 1 oder 2 null ist, also leer ist, dann
if(dz1.rawValue == null || dz2.rawValue == null)
{      
            //setze den Wert der Variablen Valid auf false (falsch)
            Valid = false;

            //weise der Variablen Sammelmeldung den Wert der Variablen Sammelmeldung zu und den String (Text) - Anzahl der Kopien und füge einen Zeilenunumbruch hinzu

            //Du müsstest jetzt also je nach Feld einen anderen Text einsetzen, bspw. - Nachname, denn das ist der Text , der für den Benutzer ausgegebn wird.
            Sammelmeldung = Sammelmeldung + "- Rückzahlungshöhe" + "\n";
}
 
Hoffe, es hilft Dir weiter.

LG Mandy
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:

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von nele_sonntag » 01.09.2010, 22:59

Hallo walde,

Ihr Skript ist furchtbar hilfreich.

Jetzt habe ich versucht (erfolglos, wenn ich das anmerken darf), dies als Funktion auszulagern, um meine Skript übersichtlicher zu gestalten.

Ich habe nämlich das Problem, dass jeweils unterschiedliche Felder abgeprüft werden sollen.

Bspw.:
Habe ich Pakte A angkreuzt, ist nur erforderlich zu schauen, dass Name, Abteilung ausgefüllt ist.

Habe ich Pakte B angkreuzt, sind mehrere Prüfungen erforderlich, Name, Abteilung, Alter, ...

Dies hatte ich zunächst mit einer IF-Verzweigung gelöst, doch jetzt werden die Varianten, die abgeprüft werden sollen immer mehr, sodass dieser Lösungsansatz 300 Zeilen.. und mehr im SENDEN-Button unterzubringen nicht wirklich sinnvoll ist.

Habe schon von FileAffairs von Entscheidungstabellen gehört, die ich als Array anlegen soll, um dort zu hinterlegen, welches Feld bei welcher Variante abgeprüft werden soll. Dies übersteigt aber, denke ich, meine momentanen Programmierfähigkeiten.

Bin von daher für einen Lösungsansatz sehr dankbar.

Danke Mandy

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von walde » 03.09.2010, 18:18

Hallo nele_sonntag,

 

Anbei eine Beispieldateie, die Ihnen hoffentlich weiterhelfen wird. Hierbei wird ein Variablen Array erstellt, der mehrere Indexwerte (0,1,2) für die jeweilige Variante besitzt. Jeder Indexwert hat widerum ein eigenes Variablen Array und beinhaltet die zu prüfenden Feldbezeichnungen (Textfeld1, Textfeld2 ...).

Bei der Auswahl der jeweiligen Variante im Dropdown wird eine Überprüfung mit einer Zahl gestartet. Alles was <= Zahl ist wird als Index des Variablen Array in die Nullprüfung miteinbezogen.

Beispiel:
  1. Variante A -> 0. 0 Bedeutet, dass auf die Nullwerte von Vorname und Nachname überprüft wird.
  2. Variante B -> 1. 1 Bedeutet, dass sowohl der Indexwert 0 als auch 1 überprüft wird (<=1). In diesem Fall Vorname, Nachname, Telefon und E-Mail.
  3. Variante C -> 2. 2 Bedeutet, dass sowohl der Indexwert 0, 1 als auch 2 überprüft wird (<=2). In diesem Fall Vorname, Nachname, Telefon, E-Mail, PLZ, Wohnort und Strasse.
Gruß,

 

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von nele_sonntag » 04.09.2010, 09:57

Lieber walde,

auch hier vielen lieben Dank für Ihre Mühe, werde mir gleich das Beispiel-PDF anschauen und versuchen nachzuvollziehen.

Zwei kurze Fragen noch:

Frage:
  1. Ihre Email-Prüf-Funktion auslagern als Funktion zur besseren Übersichtlichkeit im Code
  2. Wie beziehe ich ein DropDownFeld in die Prüfung ein? (siehe Beispieldatei) Ich
Ich bekomme das DropDownFeld einfach  nicht mit in die Prüfung integriert. Was mache ich falsch?

Was mache ich falsch, wenn ich Ihrem Skript zur Pflichtfelderprüfung vor Versand einen Funktionsnamen vorschalte und unter Skripte hinterlege und in den IF-Verzweigungen einen Funktionsaufruf starte? Woher weiß ich, ob eine Funktion einen Parameter zur Übergabe benötigt? Kann man das pauschal erklären? Es ist bei mir leider schon eine ganze Weile her.

Code: Alles auswählen

function felder_check(){
    var Valid = true;
    var Sammelmeldung = "";

    //Kopien prüfen
    if(Formular1.Seite_1.anzahl_kopie.rawValue == null)
    {
        Valid = false;
        Sammelmeldung = Sammelmeldung + "- Anzahl der Kopien" + "\n";
    }
    //DIN Feld prüfen
    if(Formular1.Seite_1.dd_din.rawValue == " ")
    {
        Valid = false;
        Sammelmeldung = Sammelmeldung + "- DIN A-Feld" + "\n";
    }
    //wenn Variable VALID wahr, dann mailen
    if(Valid)
    {
        event.target.mailDoc
        ({
            bUI: false,
            cTo: "test@test.de",
            cSubject: "Bestellung",
            cMsg: "Sehr geehrte ..,\n\nanbei finden Sie ..\n\nMfG"
        });
    }
    else
    {
        app.alert("Folgende Felder..ausgefüllt:\n\n" + Sammelmeldung + "\nBitte ..aus. Danke.",1);
    }
}
Danke,
Mandy
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von walde » 04.09.2010, 12:00

Hallo nele_sonntag,

 

Anbei Ihre Beispieldatei. Leider Erfordert die Überprüfung eines DropDown Feldes mehrere Möglichkeiten.
  • Es sollte der Bidewert bei der Überprüfung miteinbezogen werden, falls dieser vergeben ist.
  • es sollte eine Nullprüfung durchgeführt werden, falls das DropDown Feld noch nie bearbeitet wurde.

Siehe Beispieldatei.

Zu Frage 1:

Bin mir nicht sicher ob ich Sie richtig verstanden habe.

Eine Fubktion ist im endeffekt ein Skript, welcher von vielen Objekten aus ausgeführt werden kann. Der Vorteil einer Funktion ist, dass diese für Viele Objekte sehr variabel gestaltet werden kann.

Beispie:

Eine Funktion, die den Wert eines Feldes abfragt kann folgendermaßen aussehen:

Code: Alles auswählen

function nValue(nField, nThisField){

nThisField.rawValue = nFiled.rawValue;

}
Diese Funktion kann dann von einem beliebigen Feld aus ausgeführt werden, wobei die Parameter nField ein beliebiges Zielfeld darstellen dessen Wert aufgenommen werden soll und nThisFiel den Parameter des Feldes darstellen, welches die Funktion ausführt. Wenn die Funktion nun vom Textfeld2 aus ausgeführt wird um den Wert von Textfeld1 zu übernehmen, so könnte dies Folgendermaßen aussehen "nValue(Textfeld1, this)". Im Umgekehrtem Fall würde es dann so aussehen "nValue(Textfeld2, this).

 

Gruß,

 

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

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von walde » 04.09.2010, 12:00

Hallo nele_sonntag,

 

Anbei Ihre Beispieldatei. Leider Erfordert die Überprüfung eines DropDown Feldes mehrere Möglichkeiten.
  • Es sollte der Bidewert bei der Überprüfung miteinbezogen werden, falls dieser vergeben ist.
  • es sollte eine Nullprüfung durchgeführt werden, falls das DropDown Feld noch nie bearbeitet wurde.

Siehe Beispieldatei.

Zu Frage 1:

Bin mir nicht sicher ob ich Sie richtig verstanden habe.

Eine Fubktion ist im endeffekt ein Skript, welcher von vielen Objekten aus ausgeführt werden kann. Der Vorteil einer Funktion ist, dass diese für Viele Objekte sehr variabel gestaltet werden kann.

Beispie:

Eine Funktion, die den Wert eines Feldes abfragt kann folgendermaßen aussehen:

Code: Alles auswählen

function nValue(nField, nThisField){

nThisField.rawValue = nFiled.rawValue;

}
Diese Funktion kann dann von einem beliebigen Feld aus ausgeführt werden, wobei die Parameter nField ein beliebiges Zielfeld darstellen dessen Wert aufgenommen werden soll und nThisFiel den Parameter des Feldes darstellen, welches die Funktion ausführt. Wenn die Funktion nun vom Textfeld2 aus ausgeführt wird um den Wert von Textfeld1 zu übernehmen, so könnte dies Folgendermaßen aussehen "nValue(Textfeld1, this)". Im Umgekehrtem Fall würde es dann so aussehen "nValue(Textfeld2, this).

 

Gruß,

 

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

EMail Schaltfläche mit Überprüfung von Pflichtfeldern

Beitrag von nele_sonntag » 04.09.2010, 12:37

Wunderbar!!

Mit der Prüfung des DIN Feldes kann ich glücklicherweise eines meiner PDFs abschließen.

Haben Sie vielen Dank!!

Die Einzelteile, die Sie in die Prüfung einbezogen haben, habe ich natürlich einzeln ausgeführt. Damit aber auch ich mich mal weiter entwickele, woher hätte ich jetzt diese Information (außer von Ihnen) nehmen können, dass hier alle 3 Komnination abzuprüfen sind?

Mit Funktionen werde ich auch mal dieses Wochenende herumexperimentieren.

Danke erst einmal.

Liebe Grüße
Mandy

Antworten