Ergebnis 1 bis 14 von 14
Like Tree1Likes
  • 1 Post By tsseh

Thema: Validierung in Abhängigkeit zu Dropdownmenü

  1. #1
    maddoc ist offline Jungspund
    registriert
    10-05-2016
    Beiträge
    24

    Validierung in Abhängigkeit zu Dropdownmenü

    Hallo,

    ich möchte gern ein Feld so validieren, dass in Abhängigkeit eines Dropdownfeldes nur jeweils ein bestimmter Wertebereich eingegeben werden kann. Folgendes habe ich probiert:

    Code:
    var a = getField("Medikament1").value
    var b = getField("Dosis").value
    
    if  (a == 01)//Medikament 1
    { 
    	if (b < 50 || b > 300)
    	{
    		app.alert("Die Dosis liegt ausserhalb der zulässigen Werte zwischen 50 und 300 mg.");
    		doXwithFields(event.target.name,1);
    		event.value = "";
    	}
    }
    else
    {
    	if (a == 02)//Medikament 2
    	{
    		if (b < 20 || b > 200)
    		{
    			app.alert("Die Dosis liegt ausserhalb der zulässigen Werte zwischen 20 und 200 mg.");
    			doXwithFields(event.target.name,1);
    		        event.value = "";
    		}
    	}
            else.... usw.
    }
    Momentan löscht er mir jeden Wert wieder raus. Das soll er aber nur tun, wenn der Wert ausserhalb der range liegt. Ich mache das mit javascript für adobe Formulare.
    Ich hoffe ihr könnt helfen.

    Danke!

  2. #2
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.496

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von maddoc Beitrag anzeigen
    Momentan löscht er mir jeden Wert wieder raus.
    was heißt das genau? kommt das alert?
    wo rufst du das auf?
    if (a == 01) das ist oktal, für 1 und 2 noch kein problem, aber ab 8
    liefert getField("Dosis").value einen string oder eine number?

  3. #3
    maddoc ist offline Jungspund
    registriert
    10-05-2016
    Beiträge
    24

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Ja das alert-Fenster wird angezeigt und der Wert anschließend gelöscht, auch wenn der Wert richtig ist.
    Eingefügt habe ich das im Reiter "Validate" - "Run custom validation script" (Adobe Formular)

    if (a == 01) das ist oktal, für 1 und 2 noch kein problem, aber ab 8
    liefert getField("Dosis").value einen string oder eine number?
    Dei Exportwerte des Feldes "Medikament" gehen bis 42. Wie genau kann ich das Problem verstehen? Funktioniert das dann überhaupt?

  4. #4
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.496

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von maddoc Beitrag anzeigen
    Eingefügt habe ich das im Reiter "Validate" - "Run custom validation script" (Adobe Formular)
    und wann wird das ausgeführt? immer wenn du etwas änderst?


    Zitat Zitat von maddoc Beitrag anzeigen
    Dei Exportwerte des Feldes "Medikament" gehen bis 42. Wie genau kann ich das Problem verstehen? Funktioniert das dann überhaupt?
    01 ist oktal 1
    010 ist oktal 10 das ist dezimal 8
    1 ist dezimal 1 und 10 dezimal 10 und 8 dezimal 8

  5. #5
    maddoc ist offline Jungspund
    registriert
    10-05-2016
    Beiträge
    24

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Ja immer wenn ich etwas ändere.

    Wie genau kann ich das mit den Zahlen verstehen? Muss ich die Exportwerte ändern? aktuell sehen diese so aus: 01, 02, 03, ..... 10, 11 bis 42
    Kann ich einfach die Programmierung ändern? Wie könnte diese aussehen?

  6. #6
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.496

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von maddoc Beitrag anzeigen
    Eingefügt habe ich das im Reiter "Validate" - "Run custom validation script" (Adobe Formular)
    und musst du dort vielleicht noch irgendein flag setzen, daß die validierung gut gegangen ist? return true oder sowas in der art?

    Zitat Zitat von maddoc Beitrag anzeigen
    Wie genau kann ich das mit den Zahlen verstehen? Muss ich die Exportwerte ändern? aktuell sehen diese so aus: 01, 02, 03, ..... 10, 11 bis 42
    Kann ich einfach die Programmierung ändern? Wie könnte diese aussehen?
    https://developer.mozilla.org/en-US/...Objects/Number

  7. #7
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Ich denke mal das Problem ist der Typ des Wertes den du vergleichen willst. Also ist der Wert eine Zahl, ober ein String (Zeichenkette)...? Da musst du halt prüfen was in a und b als value zurück kommt. Bei normlen Input-Feldern in einem HTML-Formular kommt als value auch ein String zurück, den du dann entsprechend wandeln musst um einen Zahlenvergleich zu machen.
    Hoffe ich konnte helfen

  8. #8
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.496

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Bei normlen Input-Feldern in einem HTML-Formular kommt als value auch ein String zurück, den du dann entsprechend wandeln musst um einen Zahlenvergleich zu machen.
    im HTML-Formular würde js das automatisch casten, das ist nicht schön, aber geht.
    ob das im pdf auch so ist keine ahnung.
    außerdem hatten wir ja schon ein paar pdf-fragen, da meine ich mich schwach erinnern zu können, das im pdf value je nach feldeigenschaft string oder number oder ... liefert

  9. #9
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von tsseh Beitrag anzeigen
    im HTML-Formular würde js das automatisch casten
    Ja aber nur wenn ich Operatoren verwende. Auch unterscheidet sich ja if (a == 01) und if (a === 01), da ja auch der Typ verglichen wird. Um ganz sichere nummerische Werte weiter zu verarbeiten würde ich das so machen
    Code:
    if(!isNaN(parseFloat(a)) && isFinite(a)){
       /* Wert a ist eine Nummer oder eine Nummer als String */
    }
    Hoffe ich konnte helfen

  10. #10
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.496

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Ja aber nur wenn ich Operatoren verwende.
    == ist ja ein operator

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Um ganz sichere nummerische Werte weiter zu verarbeiten
    das kommt darauf an, was value liefert, liefert es eine number ist das so sicher

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    würde ich das so machen
    parseInt und man sollte prüfen, ob das nur eine zahl ist und nicht eine zahl mit zeichen zwischen drinn/am ende
    Bastima likes this.

  11. #11
    maddoc ist offline Jungspund
    registriert
    10-05-2016
    Beiträge
    24

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Wenn ich den Exportwert auf mit 01 ... festlege ist das dann keine number?

    So hab ich das probiert, funktioniert aber leider. Auch nicht wenn ich === nutze.
    Code:
    var a = getField("Medikament").value
    var b = getField("Dosis").value
    
    if(!isNaN(parseFloat(a)) && isFinite(a))
    {
       /* Wert a ist eine Nummer oder eine Nummer als String */
       if (a == 01)
    	{ 
    		if (b < 50 || b >= 300)
    		{
    			app.alert("Die Dosis liegt ausserhalb der zulässigen Werte zwischen 50 und 300 mg.");
    			doXwithFields(event.target.name,1);
    			event.value = "";
    		}
    	}	 
    }
    Er holt sich aber den Exportwert 01. Denn wenn ich ein anderes Medikament im Dropdownfeld auswähle und dann eine Dosis eingebe, dann macht er nichts. Das ist ja richtig, weil ich das noch nicht definiert habe. Frage also ob das dann wirklich nur an der 01 liegt?
    Geändert von maddoc (18-05-2017 um 10:12 Uhr)

  12. #12
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.496

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Zitat Zitat von maddoc Beitrag anzeigen
    Wenn ich den Exportwert auf mit 01 ... festlege ist das dann keine number?
    keine ahnung was ein "Exportwert" ist
    01 ist eine oktale zahl
    basiswissen wirst du schon benötigen

    Zitat Zitat von maddoc Beitrag anzeigen
    Er holt sich aber den Exportwert 01. Denn wenn ich ein anderes Medikament im Dropdownfeld auswähle und dann eine Dosis eingebe, dann macht er nichts. Das ist ja richtig, weil ich das noch nicht definiert habe.
    ???

    Zitat Zitat von maddoc Beitrag anzeigen
    Frage also ob das dann wirklich nur an der 01 liegt?
    vermutlich liegt es überhaupt nicht an der 01, das ist nur ein weiterer möglicher fehler. wenn du z.b. 08 und 09 stehen hast, dann sind das keine gültigen oktalen zahlen. keine ahnung was dann im pdf passiert.
    es kann an allem möglichen liegen. z.b. musst du die frage klären, wie ein gültiges "custom validation script" auszusehen hat.

  13. #13
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    Was passiert denn wenn du ein alert machst?
    Code:
    var a = getField("Medikament").value
    var b = getField("Dosis").value
    
    app.alert(typeof a);
    app.alert(typeof b);
    Hoffe ich konnte helfen

  14. #14
    maddoc ist offline Jungspund
    registriert
    10-05-2016
    Beiträge
    24

    AW: Validierung in Abhängigkeit zu Dropdownmenü

    beides "number"

    - - - Aktualisiert - - -

    Ich habe eine andere Lösung gefunden und habe ein Validierungsskript (Dokumentenfunktion) geschrieben, was das Dosisfeld in Abhängigkeit des Dropdown-Feldes prüft.
    Damit funktioniert das ganz gut.

    Für alle die es zukünftig evtl interessiert, die Dokumentenfunktion sieht so aus:

    Code:
    function isValid2(min1,max1,min2,max2)
    {
    	if(event.value != "") // value wurde gelöscht?
    	{	
    		var tmp = "" + event.value; 
    		var v = tmp.replace(",", ".");
    		
    		if (v >= min1 && v <= max1)  // befindet sich der Wert zwischen den grenzwerten max1 und min1?
    		{
    			doXwithFields(event.target.name,4);
    			return true;
    		}
    		else if(v >= min2 && v <= max2) // nein? befindet sich der Wert zwischen den grenzwerten max2 und min2?
    		{	
    			var res = app.alert( // falls ja, wird nachgefragt, ob sich bei der eingabe möglicherweise geirrt wurde.
    			{ 
    				cMsg: "Value: "+event.value+" Sind Sie sicher?",
    				cTitle: "Warnung", 
    				nType: 2 
    			});
    			
    			// 4 = Ja, 3 = Nein
    
    			if(res == 4)
    			{	
    				// call do-Function with parameter: "warning"
    				doXwithFields(event.target.name,2);
    				return true;
    			}
    			else if(res == 3)
    			{
    				event.value = "";
    				// call do-Function with parameter: "blank"
    				doXwithFields(event.target.name,1);
    				return true;
    			}
    		}
    		else // falls der wert zu absurd ist -> löschen
    		{
    			app.alert("Bitte prüfen Sie Ihre Eingabe.");
    			doXwithFields(event.target.name,1);
    			event.value = "";
    		}
    	}
    	else
    		// Datum wurde gelöscht
    		doXwithFields(event.target.name,1);	
    }
    Dann muss man nur noch die Feldvalidierung mit einem kurzen Code befüllen:

    Code:
    var a = getField("spa.nsa._nsa1_hist_a_").value
    if (a == 01)
    {
    	isValid2(50,300,0,9999);
    }
    Danke nochmal für eure Hilfe!! Dadurch sind mir einige andere Dinge auch klarer geworden!

Ähnliche Themen

  1. Live Suche in Abhängigkeit von Kategorien
    Von H2SO4 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 11-06-2012, 13:41
  2. Mousover in Abhängigkeit von Cursorposition positionieren
    Von Lobster_1956 im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 24-05-2012, 00:41
  3. Dropdown Abhängigkeit
    Von thiagojonas im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 13-04-2010, 16:56
  4. Ausgabe in Abhängigkeit von Selectbox
    Von Stern74 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 18-08-2009, 12:42
  5. Abhängigkeit Dropdownliste - Textfeld
    Von micky im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 11-02-2008, 22:46

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •