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

ASP 入門教學:建立基本表單 —— Form 標籤屬性與架構完整解析

     編輯:ASP 入門教學

<form> 是收集使用者資料的容器,定義資料如何封裝、送往何處、由誰處理。理解其屬性與限制,是設計正確表單的前提。

基本語法

<form name="表單名稱" method="get|post" action="處理程式URL">
    ... 表單控制項 ...
</form>

核心屬性詳細表

屬性說明關鍵備註
method資料傳輸方式post:HTTP 主體;get:URL 查詢字串。機密資料必用 post。URL 長度限制 ~2KB,長表單用 post。
action接收資料的伺服器端程式 URL相對/絕對路徑皆可;省略預設為當前頁 (自我回傳)。
onSubmit提交前觸發的事件處理程式回傳 false 可取消提交 (JS 驗證常用)。
onReset重置前觸發的事件處理程式同理可攔截重置行為。
target回應顯示的目標視窗_blank 新視窗、_self 當前 (預設)、_parent 父框架、_top 最頂層、iframe名稱 指定框架。
name表單識別名稱供腳本 document.forms["name"] 或 document.表單名 存取。
enctype編碼類型 (POST 專用)application/x-www-form-urlencoded (預設);multipart/form-data (檔案上傳);text/plain (罕用)。
accept-charset伺服器接受的字元編碼如 UTF-8、GB2312;預設為頁面編碼。

Method 選擇決策樹

資料是否包含密碼/信用卡/個資?
  是 → 必用 POST + HTTPS
  否 → 資料量是否大 / 結果需可書籤分享?
        大 / 不需分享 → POST
        小 / 需分享 (搜尋、分頁) → GET

重要限制與規範

  • 表單不可巢狀:<form>...<form>...</form>...</form> 為非法 HTML,瀏覽器行為未定義。
  • 單一頁面可包含多個獨立表單,各自擁有控制項與提交目標。
  • <input>、<select>、<textarea>、<button>、<fieldset>、<label>、<output> 皆須置於 <form> 內 (HTML5 允許 form 屬性關聯外部表單)。
  • method="get" 時,action URL 若已含查詢字串,瀏覽器行為不一致 (有的合併、有的覆蓋);建議 action 不帶參數,統一由表單欄位提供。

最小可用表單範本

<form method="post" action="process.asp" onSubmit="return validateForm()">
    <label for="username">帳號:</label>
    <input type="text" id="username" name="username" required>
    <label for="pwd">密碼:</label>
    <input type="password" id="pwd" name="pwd" required>
    <input type="submit" value="登入">
    <input type="reset" value="重填">
</form>

<script>
function validateForm() {
    // 簡單前端驗證,真正安全仍靠伺服器端
    return true;
}
</script>

無障礙與 SEO 加分項

  • 每個輸入控制項搭配 <label for="id"> 或包裹 <label>文字 <input...></label>,點擊文字即聚焦控制項。
  • 使用 <fieldset> + <legend> 群組相關欄位。
  • 必要欄位加 required、aria-required="true"。
  • autocomplete 屬性提示瀏覽器自動填入類型 (on/off/username/current-password 等)。

紮實掌握 <form> 架構與屬性,能避免資料遺失、安全性漏洞與相容性問題,打造專業級表單體驗。

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