• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Variable "speichern"

kruk

Mitglied
Guten Tag,
Ich hänge nun schon seit einiger Zeit daran, eine Kontrolle für Formulare zu programmieren. Diese Kontrolle soll direkt nach der Eingabe des Benutzers geschehen. Erst wenn alle Eingaben vom Benutzer den gewünschten Anforderungen entsprechen, soll der Senden-Button freigeschaltet werden. Dazu einmal ein kleiner Auschnitt aus meinem Code:
HTML:
<!DOCTYPE html>
<html>

<head>
    <title>Seite</title>

    <script language="javascript" type="text/javascript">
       var zahl = 0

       function kontrolle() {

          if (zahl == 1) {
              var name = document.getElementById('name').value.length;

              if (name > 5) {
                  var zahl1 = true;
              } else {
                  return;
              }
          } else if (zahl == 2) {
              var betreff = document.getElementById('betreff').value.length;

              if (betreff > 8) {
                  var zahl2 = true;
              } else {
                  return;
              }
          }

          if (zahl1 == true && zahl2 == true) {
              alert('Button wird freigeschaltet');
          }
       }
    </script>
</head>

<body>
      <input type="text" id="name" name="formname" onchange="zahl = 1; kontrolle();"/>
      <input type="text" id="betreff" name="formbetreff" onchange="zahl = 2; kontrolle();"/>
</body>
</html>

Erläuterung: Der Senden-Button soll erst freigeschaltet werden, wenn der User in beide Textfelder die geforderte Zeichenlänge eingegeben hat. Das Freischalten des Buttons ist im Code durch das alert ersetzt. Wenn der Benutzer nun eines der Textfelder verändert hat, wird die Funktion kontrolle() gestartet und es wird überprüft ob der eingegebene Text lang genug ist. Wenn er das ist, wird dies in einer neuen Variable gespeichert. Ändert der User nun auch das andere Textfeld, wird die Funktion erneut gestartet. Und genau da liegt mein Problem, denn der Wert der Variablen von zuvor wird ignoriert. Das heißt durch meinen Code können die beiden Variablen niemals beide den Wert true enthalten.

Deshalb ist meine Frage, ob man den Wert irgendwie speichern kann, oder wie man ansonsten eine Kontrolle des Codes während der Eingabe programmieren kann?

kruk
 
Werbung:
Du speicherst doch schon die "zahl" und verwendest sie dann in deiner Funktion. Was hält dich davon ab mehr variablen anzulegen und denen werte zuzuweisen?
 
Zurück
Oben