Microsoft® Visual Basic® Scripting Edition VBScript 和表單 |
VBScript 教學 上一頁 | 下一頁 |
您可使用 Visual Basic Scripting Edition 處理許多您常在伺服器上執行的表單,同時也可以執行一些無法在伺服器上處理的工作。這裡有一個對客戶端做簡單確認的範例程式。這些 HTML 程式碼用來產生一個文字方塊和按鈕。當您使用 Microsoft® Internet Explorer 4.0 來檢視由下列程式碼所產生的網頁時,您將會看到一個小小的文字方塊,同時緊接著一個按鈕。
這個文字方塊和簡單的 VBScript 網頁上的範例之不同處,在於此文字方塊的 Value 屬性是用來檢查輸入值。程式碼必須以文字方塊名稱的引用來取得 Value 屬性。<HTML> <HEAD><TITLE>簡單的確認</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.Value > 10 Then MsgBox "請輸入 1 到 10 中的任一值!" Else MsgBox "感謝您!" End If Else MsgBox "請輸入數字!" End If End Sub --> </SCRIPT> </HEAD> <BODY> <H3>簡單的確認</H3><HR> <FORM NAME="ValidForm"> 輸入 1 到 10 中的任一值: <INPUT NAME="Text1" TYPE="TEXT" SIZE="2"> <INPUT NAME="Submit" TYPE="BUTTON" VALUE="傳送"> </FORM> </BODY> </HTML>您可以每次都寫出完整的引用 Document.ValidForm.Text1。然而,當您有多重表單控制項的引用時,您就可以使用下面的方法。首先先宣告一個變數。然後使用 Set 陳述式指定一個表單給變數 TheForm。一般的指定陳述式,像是 Dim,在這裡就無法使用;您必須用 Set 來保留對物件的引用。
請注意,這個範例是直接使用數字來測試該值:它使用 IsNumeric 函數來確認在文字方塊中的字串是否為數字。雖然 VBScript 可以自動轉換字串和數字,不過在測試使用者輸入的值之前,先檢查資料的子型態並依需要使用轉換函數。當使用文字方塊的數值來做加法運算時,數值會被精確地轉換成數字。因為 (+) 運算子符號可以代表加法和字串連結。例如,假設 Text1 等於「1」,而 Text2 等於「2」,你會看到以下的結果:A = Text1.Value + Text2.Value ' A is "12" A = CDbl(Text1.Value) + Text2.Value ' A is 3
以下為使用按鈕控制項的簡單確認範例。在這範例中,當您按下傳送控制項時,將不會看到資料被檢查,也就是說每一個動作將立即傳送到伺服器中。若您在傳送控制項中檢查資料,它就不會將資料傳送到伺服器。為了避免這種情形,需多加一行的程式碼:當資料正確並要傳送到伺服器時,程式碼會呼叫在表格物件中的 Submit 方法。從那裡,伺服器可以掌握到資料就如同從其他地方傳來的一樣(除非資料在傳送前就是對的)。您可以在Internet Explorer Scripting 物件模型取得有關 Submit 方法和其它方法的完整資訊。<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.Value > 10 Then MsgBox "請輸入 1 到 10 中的任一值!" Else MsgBox "感謝您!" TheForm.Submit ' Data correct; send to server. End If Else MsgBox "請輸入數字!" End If End Sub --> </SCRIPT>到此,你只看到了標準 HTML <FORM> 物件。Internet Explorer 4.0 也能讓您完全發揮 ActiveX™ 控制項(先前稱為 OLE 控制項)及 Java™ 物件的威力。