MartinKitzler: Eingabe überprüfen

Hallo an alle

Ich habe folgendes Problem. Also ich möchte auf der ersten Asp-Seite Werte einlesen und diese kontrollieren. Dh. des eingelesene Wert sollte eine Zahl sein. Falls das nicht der Fall ist sollte die Fehlermeldung erscheinen "Sie müssen eine Zahl eingeben". Und falls nichts in das Eingabefeld geschrieben wurde sollte die Meldung "Sie müssen einen Wert eingeben" erscheinen. Anschließend sollten (wenn die Eingabe eine Zahl ist) die Werte auf eine nächste Asp- Seite übernommen werden.

Jetzt hab ich nur das Problem mit den Fehlermeldungen. Kann mir bitte wer helfen.

Hier der Code der 1.Seite

<body>
<form name="Formular" method="post" action="Berechnung.asp">
wert1: <input type="float" name="wert1" maxlength="10"> <br>
wert2: <input type="float" name="wert2" maxlength="10"> <br>
wert3: <input type="float" name="wert3" maxlength="10"> <br> <br>
<input type="submit" value="Berechnen" >
</form>
</body>

Und hier der 2. Seiten

<body>
<%Public strwert1, strwert1, strwert1
strwert1 = cDbl(request.form ("wert1"))
strwert2 = cDbl(request.form ("wert2"))
strwert3 = cDbl(request.form ("wert3"))
Response.write strwert1
Response.write strwert2
Response.write strwert3
%>
</body>

Wie kann ich bloss jetzt die Eingegebenen Werte der 1. Seite prüfen???

  1. Morgen,

    strwert1 = cDbl(request.form ("wert1"))
    strwert2 = cDbl(request.form ("wert2"))
    strwert3 = cDbl(request.form ("wert3"))

    An dieser Stelle setzt du ja irgendwie schon voraus, dass sich der Inhalt von wert1 in einen Double verwandeln lässt. Das ist sicherlich etwas verfrüht - Angemessener wäre vielleicht so etwas:
    strwert1 = Request.Form("wert1")
    ' Wert vorhanden?
    if (strwert1 = "") then
       Response.Write("Sie müssen einen Wert eingeben")
       valueok = false
    else
       'Wert ist vorhanden, ist es eine Zahl
       if (Not isnumeric(strwert1)) then
          Response.Write("Sie müssen eine Zahl eingeben")
          valueok = false
       else
          valueok = true
       end if
    end if
    'anhand von Valueok kannst du jetzt erkennen, ob die Prüfung erfolgreich war oder nicht.

    MfG
    Rouven

    --

    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hi

      Das von Rouven gepostete Verfahren würde ich in der Formularseite selbst anwenden, weil du dadurch dem Benutzer das Formular gleich wieder zur Verfügung stellen kannst. Das setzt natrülich voraus, dass die Formulardaten an das Formularskript selbst geschickt werden.

      FG & HTH

      Tom2

      --
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
      1. <<Das setzt natrülich voraus, dass die Formulardaten an das Formularskript selbst geschickt werden.>>

        Jaa, und weißt du vielleicht wie ich dieses Problem umgehn könnte?? Denn ich will ja die Werte erst auf der zweiten Seite ausgeben.

        1. Hi

          Jaa, und weißt du vielleicht wie ich dieses Problem umgehn könnte?? Denn ich will ja die Werte erst auf der zweiten Seite ausgeben.

          Wenn die Daten überprüft wurden kannst du sie ja in eine Session schreiben oder als URL Parameter mittels Response.Redirect an die andere Seite übergeben. Obwohl, dort musst du die Daten ev. nochmals prüfen. Kannst du die Daten nicht auch gleich aus dem Formularskript verarbeiten?

          FG

          Tom2

          --
          SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
          ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
          1. Nein, leider nicht. Muss die Daten auf die 2.Seite schicken, weil ich dann die gesamte Seite drucken möchte. Hmmm, dass mit der Session werd ich mal probiern. Danke!!

            Lg, Martin