2013年9月1日 星期日

用 Eclipse 開發 Yii Web Application (七)

上次我們利用 dropdownlist 元件幫我們製作網頁上的下拉選單, 這是可以讓我們避免使用者亂
輸入資料的好方法。
這次我們介紹一個也常常被利用在避免使用者錯誤輸入資料的元件, Radio Button。
我們用 Create Students 來說明一下如何使用 Radio Button。
來看一下 views/students/create.php 的內容為何?
可以看到實際要新增學生資料要到另一個網頁 views/students/_form.php

原本 Gii 幫我們產生的網頁如下:
其中性別的欄位是用 input type='text' 可以讓使用者自由輸入內容, 但我們希望在資料庫內儲存的
是男性:M, 女性:F。
改用 Radio Button 後網頁畫面如下:
接著看看要如何改程式碼
由於需要兩個選項(男性與女性)所以要兩個 radioButton 元件。
 <?php echo $form->radioButton($model, 'gender', array('value'=>'M','uncheckValue'=>null)); ?> 男性
 <?php echo $form->radioButton($model, 'gender', array('value'=>'F','uncheckValue'=>null)); ?>  女性
radioButton 有三個參數, 第一個是我們使用的Model(Students)的變數, 他在前一個
網頁(create.php)以參數形態傳到這裡使用。第二個是我們使用此 Model 中哪一個欄位, 因為我們
在資料庫中欄位名稱為 gender 所以這裡就是使用 gender。第三個欄位是選擇後要儲存的值為何,
需以 array 形態,如果選男性我們要的值是 M  因此要用 'value'=>'M', 另外要特別注意的是還要在
array 裡多加一個 'uncheckValue'=>null, 才不會讓沒選到的 Radio Button 把錯誤的值傳入。

實際新增一筆資料看看。

性別的部分果然如我們所需存入 M (男性)。

如果想看看 Radio Button 的定義可以參考以下連結 RadioButton

沒有留言:

張貼留言