Microsoft®
Visual Basic® Scripting Edition
VBScript και Φόρμες
|
Simple Validation
Μπορούμε να χρησιμοποιήσουμε την
Visual Basic Scripting Edition για να κάνουμε πολλές από τις εργασίες της
φόρμας που συνήθως έχουν να κάνουν με τον server. Μπορούμε επίσης να κάνουμε
πράγματα που δεν μπορούν να γίνουν στον server.
Εδώ είναι ένα απλό παράδειγμα client-side
validation. Ο κώδικας HTML είναι για ένα text box και ένα button. Αν χρησιμοποιήσουμε
τον Microsoft Internet Explorer για να δούμε τη σελίδα
που δημιουργείται από τον κώδικα, θα δούμε ένα μικρό text box με ένα
button δίπλα του.
<HTML
<HEAD<TITLE Simple Validation</TITLE
<SCRIPT LANGUAGE=’’VBScript’’
<!—
Sub Submit_OnClick
Dim TheForm
Set TheForm = Document.ValidForm
If IsNumeric(TheForm.Text1.Value) Then
If TheForm.Text1.Value<1 Or TheForm.Text1.Value10 Then
MsgBox’’Please enter a number between 1 and 10.’’
Else
MsgBox’’Thank you.’’
End If
Else
MsgBox’’Please enter a numeric value.’’
End If
End Sub
-->
</SCRIPT
</HEAD
<BODY
<H3 Simple Validation</H3<HR
<FORM NAME=’’ValidForm’’
Enter a value between 1 and 10:
<INPUT NAME=’’Text1’’ TYPE=’’TEXT’’ SIZE=’’2’’
<INPUT NAME=’’Submit’’ TYPE=’’BUTTON’’ VALUE=’’Submit’’
</FORM
</BODY
</HTML
Μπορούμε πάντα να γράψουμε μια πλήρη
αναφορά Document.ValidForm.Text1. Όμως όπου έχουμε πολλαπλή αναφορά σε
φόρμες ελέγχου, θα είναι καλό να κάνουμε αυτό που έγινε εδώ. Πρώτα δηλώνουμε
μια μεταβλητή. Μετά χρησιμοποιούμε το Setγια
να αναθέσουμε στη φόρμα το όνομα της μεταβλητής TheForm.
Μια συνηθισμένη δήλωση προσδιορισμού δεν δουλεύει εδώ. Πρέπει να χρησιμοποιήσουμε
το Set για να διατηρήσουμε
μια αναφορά σε ένα αντικείμενο.
Χρησιμοποιώντας
αριθμητικές τιμές
Προσέξτε ότι το παράδειγμα εξετάζει
αμέσως την τιμή με έναν αριθμό : χρησιμοποιεί την IsNumeric
function για να σιγουρευτεί ότι το αλφαριθμητικό στο text box είναι αριθμός.
Παρ’ όλο που το VBScript αυτόματα μετατρέπει ένα string σε έναν αριθμό
, είναι καλό να ελέγχουμε την τιμή που εισάγει ο χρήστης για τον υποτύπο
των δεδομένων της, και να χρησιμοποιούμε τις conversion
functions σαν να ήταν αναγκαίες.
Επίσης, όταν κάνουμε πρόσθεση μεταξύ των τιμών των text box, πρέπει να
τις μετατρέψουμε σε αριθμούς, αφού το σύμβολο + είναι
και το σύμβολο της πρόσθεσης αλλά και αλφαριθμητικό. Για παράδειγμα, αν
το Text1 περιέχει ’’1’’ και το Text2 περιέχει ’’2’’ , βλέπουμε τα παρακάτω
αποτελέσματα :
A=Text1.Value + Text2.Value ‘A is ’’12’’
A= CDb1(Text1.Value) + Text2.Value
‘A is 3
Έλεγχος εγκυρότητας
και πέρασμα δεδομένων στον Server
Το παράδειγμα που ακολουθεί πραγματοποιεί
έλεγχο στον πελέτη. Αν δεν χρησιμοποιούσε έναν έλεγχο, το παράδειγμα δεν
θα έβλεπε ποτέ τα δεδομένα, όλα θα πήγαιναν κατευθείαν στον Server. Αποφεύγοντας
τον έλεγχο μας επιτρέπει να ελέγξουμε τα δεδομένα, αλλά δεν τα υποβάλλει
στον . Αυτό απαιτεί μια επιπλέον γραμμή κώδικα :
<SCRIPT LANGUAGE=’’VBScript’’
<!—
Sub Submit_OnClick
Dim TheForm
Set TheForm = Document.ValidForm
If IsNumeric(TheForm.Text1.Value) Then
If TheForm.Text1.Value<1 Or TheForm.Text1.Value10 Then
MsgBox’’Please enter a number between 1 and 10.’’
Else
MsgBox’’Thank you.’’
TheForm.Submit ‘ Data correct; send to server.
End If
Else
MsgBox’’Please enter a numeric value.’’
End If
End Sub
-->
</SCRIPT
Για να στείλουμε δεδομένα στο server,
ο κώδικας επικαλείται την μέθοδο Submit στο
object της φόρμας όταν τα δεδομένα είναι σωστά. Από εκεί, ο server χειρίζεται
τα δεδομένα όπως θα έκανε και αλλιώς, εκτός του ότι τα δεδομένα είναι σωστά
πριν πάνε εκεί. Θα βρείτε πληροφορίες για τη μέθοδο Submit
και άλλες μεθόδους στη σελίδα Internet Explorer Scripting Object Model.
Μέχρι εδώ έχουμε δει μόνο τα στάνταρτ
HTML <FORM objects. Ο Internet Explorer επίσης σας επιτρέπει να εκμεταλλευτείτε
όλους τους ελέγχους του ActiveXκαι
των Java objects.
© 1997 Microsoft Corporation. All rights reserved.