Brauchli Christian: Wie werden HTML Formularergebnisse in VB Script bearbeitet?

Ich habe einige Formularfelder mit Integer Werte auf einer HTML Seite erstellt und möchte die Werte in einen VBScript weiter verarbeiten. Wo finde ich dazu eine kurze Anleitung ohne gerade ein Buch von 500 Seiten zu lesen, rsp. wie geht das.

Danke

  1. Hi Christian,

    Ich habe einige Formularfelder mit Integer Werte auf einer HTML Seite erstellt und möchte die Werte in einen VBScript weiter verarbeiten.

    gehe mal davon aus, dass du dann nix für netscape machen willst (oder schon hast) und du auch nicht über ASP sprichst, was die sache dann ganz anders aussehen läßt.

    die billigste lösung wäre, für alle betreffenden INPUTS einen event-handler zu definieren, was in VBS deutlich einfach ist als in JS:
    <html><head>
    <script language="VBScript">
    Dim oki    ' "Kontrollvariable": true> FORM wird gesendet
    oki=false
    Sub txtAlter_onChange
      ' steht was drin und ist es eine Zahl?
      If IsEmpty(Me.Value) Or Not IsNumeric(Me.Value) Then
          oki=false
      Else
        If CInt(Me.Value)>=18 Then
          oki=true
        Else
          MsgBox "Mindestalter: 18 Jahre"
        End If
      End If
    End Sub

    Function frmPerson_onSubmit()
     frmPerson_onSubmit=oki
    End Function
    </script>
    </head>
    </html>
    <body>
    <form name="frmPerson" method="POST">
    <input type="text" name="txtAlter" value="">
    <input type="submit" name="btnSend" value="Ab damit">
    </form>
    </body>
    Das ist ein recht billiges beispiel, da es nur mit einer globales check-variable (oki) arbeitet und das senden des formulars (frmPerson_obSubmit) verhindert, wenn diese nicht TRUE ist. zudem wird das event (onChange) auch nur getriggert, wenn sich wirklich was geändert hat und der cursor das feld verläßt. alternativ kannst du je input auch die "onKey"-events (s.u) verwenden und aus dem window.event die gedrückte taste herausfummeln - finde ich aber recht lästig.

    Für jedes(!) benannte(!) HTML-Element kannst du in VBS einen entsprechenden eventhandler definieren, indem du schlichtweg
    eine Sub bzw. Function nach dem schema "elementname_eventname"
    definierst.
    IE ruft diese automatisch auf, zB. :
      txtAlter_onKeyDown
      txtAlter_onKeyPress
      txtAlter_onKeyUp
      txtAlter_onBlur
    etc.

    In der VBS-Doku von MS findest du alle infos bzgl. variablen check und umwandlung (wie zB IsNumeric(), Is Nothing etc.)
    http://msdn.microsoft.com/scripting/

    Viel Spaß
    CirTap