Um den Eingabebereich bei einem Zahlenfeld mit einem Mindest- und Maximalwert einzuschränken, kann folgendes im Form Wizard eingebaut werden:

Beispielsszenario mit einem Stundenfeld und einer Limitierung des eingebbaren Mindest-/Maximalwertes von 8 - 42:

Form Wizard

Lösung mit Regeln

Lösung mit JS

  1. Feld mit Fragetyp als Zahl erstellen
  2. Regel #1 für den Mindestwert hinzufügen

    BedingungHauptaktionBeschreibung
    nodeValue(".") != NULL && nodeValue(".") <  "8"setValue("8")Wenn der Wert nicht gleich NULL und kleiner als 8 ist, schreibe 8

  3. Regel #2 für den Maximalwert hinzufügen

    BedingungHauptaktionBeschreibung
    nodeValue(".") != NULL && nodeValue(".") >  "42"setValue("42")Wenn der Wert nicht gleich NULL und grösser als 42 ist, schreibe 42

  1. Feld mit Fragetyp als Zahl erstellen
  2. Feld mit Fragetyp als Anzeigetext erstellen, Sichtbarkeit auf false stellen


  3. Folgenden JS Code in die Beschriftung einfügen

    <script type="text/javascript" defer="defer">
    var inputMaxValueName = "xxx";
    var inputMinValue = y;
    var inputMaxValue = z;
    
    $jax("input[name ^='"+inputMaxValueName+"']").blur(function() {
    	var value = $jax(this).val();
    	if (value !== "") {
    		$jax(this).val(Math.min(Math.max(value, inputMinValue), inputMaxValue)).change();
    	}
    });
    </script>

    Im JS Code die var Werte vom Formular übernehmen:

    JSWertBeispiel
    var inputMaxValueName = "xxx";Name des ZahlenfeldesanzahlStunden
    var inputMinValue = y;Mindestwert8
    var inputMaxValue = z;Maximalwert42

  • Keine Stichwörter