首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> ASP 程式設計 >> ASP 入門教學

ASP 入門教學:VBScript MsgBox 與 InputBox 互動對話框完整指南

     編輯:ASP 入門教學

VBScript 提供兩大內建對話函式:MsgBox(訊息輸出)與 InputBox(輸入收集),讓伺服器端腳本(或 HTA/客戶端 VBScript)能以視窗方式與使用者互動。

1. MsgBox 函式:顯示訊息並取得按鈕回應

變數 = MsgBox(提示訊息 [, 按鈕樣式 + 圖示 + 預設按鈕] [, 標題])

參數詳細表

參數類別常數值常數名稱說明
按鈕組合0vbOKOnly僅 [確定](預設)
1vbOKCancel[確定] [取消]
2vbAbortRetryIgnore[中止] [重試] [忽略]
3vbYesNoCancel[是] [否] [取消]
4vbYesNo[是] [否]
5vbRetryCancel[重試] [取消]
圖示16vbCritical停止圖示 (紅叉)
32vbQuestion問號圖示
48vbExclamation驚嘆號圖示
64vbInformation資訊圖示 (藍 i)
預設按鈕0vbDefaultButton1第 1 個按鈕預設焦點
256vbDefaultButton2第 2 個按鈕預設焦點
512vbDefaultButton3第 3 個按鈕預設焦點

組合方式:將上述三類常數值相加,如 vbYesNo + vbQuestion + vbDefaultButton2 = 4 + 32 + 256 = 292。

回傳值對照表

範例:詢問是否參加春遊

<html>
<head><title>MsgBox 範例</title></head>
<body>
<script for="button1" event="onClick" language="VBScript">
Dim a
a = MsgBox("明天去春遊嗎?", vbYesNo, "校長問大家")
If a = vbYes Then
    MsgBox "我很樂意與大家一起去春遊。", vbOKOnly, "OK"
Else
    MsgBox "我明天工作忙,不能去,祝大家玩得開心。", vbOKOnly, "NO"
End If
</script>
<input type="button" name="button1" value="單擊看校長提出什麼問題">
</body>
</html>

2. InputBox 函式:收集單行文字輸入

變數 = InputBox(提示訊息 [, 標題] [, 預設值])
  • 使用者按[確定] → 回傳輸入字串(可為空字串)。
  • 使用者按[取消] 或關閉視窗 → 回傳空字串 ("")。
  • 提示訊息中可用 Chr(13) (或 vbCr) 換行。
  • 對話框尺寸隨內容自動調整,最多 1,024 字元。
  • 省略中間參數時必須保留逗號:InputBox("訊息", , "預設值")。

範例:許願輸入並回顯

<html>
<head><title>InputBox 範例</title></head>
<body>
<script language="VBScript" for="button" event="onClick">
Dim myInput
myInput = InputBox("請許下您的心願", "許願", "祝我全家平安!")
MsgBox myInput, vbOKOnly, "這是我的心願"
</script>
<div align="center"><input type="button" name="button" value="這是我的心願"></div>
</body>
</html>

重要限制與適用情境

值常數按鈕
1vbOK確定
2vbCancel取消
3vbAbort中止
4vbRetry重試
5vbIgnore忽略
6vbYes是
7vbNo否
限制說明替代方案
僅支援 IE / HTA / WSH標準瀏覽器 (Chrome, Firefox, Edge) 不支援 VBScript 對話框使用 JavaScript alert()/confirm()/prompt() 或 HTML 表單
伺服器端 ASP 無法直接使用ASP 在伺服器執行,無法彈出客戶端視窗ASP 輸出 HTML/JS 對話框,或導向輸入頁面
模態阻塞對話框開啟時瀏覽器無法操作非模態設計改用 DIV 模擬視窗
樣式無法自訂標題列、按鈕、字型皆由系統決定自訂 HTML/CSS Modal

ASP 實務替代模式

' ASP 頁面中模擬確認對話框
<%
If Request.Form("confirm") = "yes" Then
    ' 執行刪除等動作
Else
    ' 輸出確認頁面
%>
<script>
if (confirm("確定要刪除嗎?")) {
    document.forms[0].confirm.value = "yes";
    document.forms[0].submit();
} else {
    history.back();
}
</script>
<form method="post">
<input type="hidden" name="confirm" value="no">
</form>
<% End If %>

理解 MsgBox/InputBox 的運作機制與限制,能幫助您在正確情境(HTA、WSH、IE 專案)善用它們,並在標準 Web 開發中選擇適當的替代方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved