Microsoft® Visual Basic® Scripting Edition
VBScript 和表單
 VBScript 教學 
 上一頁 | 下一頁 

 

簡單的確認
您可使用 Visual Basic Scripting Edition 處理許多您常在伺服器上執行的表單,同時也可以執行一些無法在伺服器上處理的工作。

這裡有一個對客戶端做簡單確認的範例程式。這些 HTML 程式碼用來產生一個文字方塊和按鈕。當您使用 Microsoft® Internet Explorer 4.0 來檢視由下列程式碼所產生的網頁時,您將會看到一個小小的文字方塊,同時緊接著一個按鈕。

<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 陳述式指定一個表單給變數 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

從伺服器確認與傳回資料
以下為使用按鈕控制項的簡單確認範例。在這範例中,當您按下傳送控制項時,將不會看到資料被檢查,也就是說每一個動作將立即傳送到伺服器中。若您在傳送控制項中檢查資料,它就不會將資料傳送到伺服器。為了避免這種情形,需多加一行的程式碼:
<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>
當資料正確並要傳送到伺服器時,程式碼會呼叫在表格物件中的 Submit 方法。從那裡,伺服器可以掌握到資料就如同從其他地方傳來的一樣(除非資料在傳送前就是對的)。您可以在Internet Explorer Scripting 物件模型取得有關 Submit 方法和其它方法的完整資訊。

到此,你只看到了標準 HTML <FORM> 物件。Internet Explorer 4.0 也能讓您完全發揮 ActiveX™ 控制項(先前稱為 OLE 控制項)及 Java™ 物件的威力。