VBScript基礎教程之十一VBScript與表單

來源:互聯網
上載者:User
vbscript|基礎教程 簡單驗證

使用 Visual Basic Scripting Edition,您可以完成通常要在伺服器上進行的大量表單處理工作,也可以完成不能在伺服器上進行的工作。

這是一個簡單的用戶端驗證的範例。HTML 程式碼的結果是一個文字框和一個按鈕。如果使用 Microsoft? Internet Explorer 查看用以下代碼製作的頁面,您會看到一個旁邊帶有按鈕的小文字框。

<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>

這個文字框與 VBScript 頁面的簡單範例中樣本的不同之處在於文字框的 Value 屬性被用於檢查輸入值。要使用文字框的 Value 屬性,代碼必須引用文字框的名稱。

每次引用文字框時都應寫出全稱,即 Document.ValidForm.Text1。但是,當多次引用表單控制項時,可以按照以下步驟操作:首先聲明一個變數,然後使用 Set 語句將表單 Document.ValidForm 賦給變數 TheForm,這樣就能使用 TheForm.Text1 引用文字框。常規的指派陳述式(例如 Dim)在這裡無效,必須使用 Set 來保持對對象的引用。

使用數字

請注意以上樣本直接檢測輸入值是否是一個數字:使用 IsNumeric 函數確定文字框中的字串是否是一個數字。雖然 VBScript 能夠自動轉換字串和數字,但檢測使用者輸入值的資料子類型,並且在必要時使用轉換函式始終是一個好的習慣。在用文字框的 Value 屬性進行加法運算時,應將它顯式地轉換為數字,這是因為加號 (+) 操作符不但可進行加法操作,而且可進行字串串連操作。例如,如果 Text1 中包含“1”,Text2 中包含“2”,您將會看到以下結果:

A = Text1.Value + Text2.Value ' A 為“12”
A = CDbl(Text1.Value) + Text2.Value ' A 為 3

驗證後將資料傳遞迴伺服器

簡單驗證範例使用的是普通按鈕控制項。如果使用 Submit 控制項,所有資料都會被立即傳送到伺服器,樣本將不會看到資料來進行檢查。避免使用 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 ' 資料輸入正確,傳遞到伺服器。
End If
Else
MsgBox "請輸入一個數字。"
End If
End Sub
-->
</SCRIPT>

在資料輸入正確時,代碼調用表單對象的 Submit 方法,將資料傳遞到伺服器。除非在資料被傳遞到伺服器之前判斷其正誤,否則伺服器將處理資料,而不論其正確與否。您可以在 Internet Explorer Script Object Model 頁面上找到關於 Submit 方法和其他方法的全部資訊。

到目前為止,您只看到了標準 HTML <FORM> 對象。Internet Explorer 還可以使您利用 ActiveX? 控制項(以前稱為 OLE 控制項)和 Java? 對象的全部功能建立頁面。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。