討論:HTML/表單

出自六年制學程
跳轉到: 導覽搜尋

輸入表單(Form)

傳東西給網頁伺服器

(一)Form的屬性:

  • action=程式的位置。程式的路徑可以省略,瀏覽器會把此表單交給提供這個表單的主機。所以我們可以建立一個提交給其他主機的表單,但這樣子做在大部分的瀏覽器會得到警告訊息。
  • method=get 或 post。優先用post,不經URL傳遞,不限傳遞資料的長度。get是預設值,將表單資料附在實際程式的URL之後,URL可能太長,導致超過系統允許的長度,而被截短導致錯誤。
  • enctype交代資料型態。最常用enctype=application/x-www-form-urlencoded。

用get時,可用QUERY_STRING環境變數來取得,其他人也可以透過這個環境變數取得傳遞資料。

兩者方法都可以用CONTENT_LENGTH環境變數來查傳遞資料的長度,進一步提取資料到變數。

(二)內含標籤:

select、input、textarea皆可用name屬性對其資料命名,變成資料名=輸入的資料,然後送往STDIN。

  • select夾OPTION。以size屬性決定顯示列數。各OPTION以value指定name要對應的值。選那一個傳回那一個值。
  • select 可加multiple屬性,讓之後的OPTION可以複選。
  • input的各種型態:
    1. type="text":文字。由使用者輸入其值。以size屬性,maxlength屬性,定輸入框及輸入字串的寬度。
    2. type="password":同文字,只是字元不顯出來。
    3. type="checkbox" value="xxx":核取盒。每一個個核取項目要有一個input標籤。
    4. type="radio" value="xxx":同一組選項中僅選一個。同組中每一選項有一個input標籤,但其name屬性皆相同。
    5. type="hidden" value="xxx":直接傳值給後端,不必有任何顯示及動作。
    6. type="reset" value="xxx":不傳資料至後端,只是清空前端的表單重新等待輸入。value屬性可省略,省略後預設值為Reset。
    7. type="submit" value="xxx":將表單資料傳至後端。value屬性可省略,省略後預設值為Submit Query。
    8. type="image" src="某圖形":將表單資料及滑鼠的位置傳至後端。設input的name值為N,滑鼠位置為x,y,傳回值為N.x=…&N.y=…。
  • textarea:文字區。以rows和cols屬性定區塊大小。