checkbox 是所謂的核對盒,當核對盒被勾選,submit 表單時,就會送出 name=value 的資料給伺服器。
checkbox 表單輸入欄位範例:
<html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>checkbox 輸入表單測試</title> </head>
<body>
<form method="post" action="checkbox.php"> <p>請選擇您的興趣?</p> <table border="0" width="28%"> <tr> <td width="14%" bgcolor="#DFDFDF" align="center"><input type="checkbox" name="interest[program]" value="程式寫作"> </td> <td width="86%">
程式寫作 </td> </tr> <tr> <td width="14%" bgcolor="#DFDFDF" align="center"><input type="checkbox" name="interest[music]" value="音樂"> </td> <td width="86%"> 音樂 </td> </tr> <tr> <td width="14%" bgcolor="#DFDFDF" align="center"><input type="checkbox" name="interest[coffee]" value="咖啡">
</td> <td width="86%"> 咖啡</td> </tr> <tr> <td width="14%" bgcolor="#DFDFDF" align="center"><input type="checkbox" name="interest[research]" value="專題研究">
</td> <td width="86%">專題研究</td> </tr> <tr> <td width="14%" bgcolor="#DFDFDF" align="center"><input type="checkbox" name="interest[movies]" value="電影">
</td> <td width="86%">電影</td> </tr> </table> </form>
</body> </html>
圖: checkbox 核對盒輸入欄位
核對盒最大的特色在於處理複選的情形,因為 name 的部份可以使用陣列來加以維護,例如上面的範例。
讀取 checkbox 個別項目的資料和處理陣列的方法一樣。範例:
<?php
echo "Your interest(s):<br>\n"; for (reset($interest); $k = key($interest); next($interest) echo "{$interest[$k]}<br>\n";
?>
另外,也可以使用 PHP 的 foreach 敘述來處理。範例:
<?php
echo "Your interest(s):<br>\n"; foreach ($interest as $value) echo "$value<br>\n";
?>
Jollen 建議,當使用核對盒時,都以陣列的方法來為 name 命名,然後使用上面範例的方法來處理所有被選取的核對盒。
--jollen