首頁  >  文章  >  後端開發  >  PHP開發框架Yii Framework教學(7) 使用CHtml建立Form

PHP開發框架Yii Framework教學(7) 使用CHtml建立Form

黄舟
黄舟原創
2017-01-21 09:50:251184瀏覽

在創建Yii 應用的MVC做的View時,可以直接使用HTML語言直接建構頁面視圖,Yii 也提供了幾個幫助(helper)類別簡化視圖 編寫。例如, 要建立一個文字輸入域,我們可以呼叫 CHtml::textField();要建立一個下拉列表,則呼叫 CHtml::dropDownList()。在前面的Hangman例子的幾個View是使用CHtml來建立View的。

資訊: 你可能想知道使用幫助 類別的好處,如果它們所需的程式碼量和直接寫純HTML的程式碼量相當的話。 答案就幫助類別可以提供比 HTML 程式碼更多的功能。例如 , 如下程式碼將產生一個文字輸入域,它可以在使用者修改了其值時觸發表單提交動作。

CHtml::textField ($name,$value,array('submit'=>''));

不然的話你就需要寫一大堆 JavaScript. 。

回憶一 下Hangman中頁面play的定義:

<p>This is the game of Hangman.     
You must guess a word, a letter at a time.     
If you make too many mistakes, you lose the game!</p>     
<?php echo CHtml::beginForm(); ?>     
<?php echo CHtml::radioButtonList(&#39;level&#39;, null, $levels); ?>     
<br/>     
<?php echo CHtml::submitButton(&#39;Play!&#39;); ?>     
<?php if($error): ?>     
<span style="color:red">You must choose a difficulty level!</span>     
<?php endif; ?>
<?php echo CHtml::endForm(); ?>

PHP開發框架Yii Framework教學(7) 使用CHtml建立Form

使用CHtml構造頁總是以CHtml::beginForm()開始以 CHtml::endForm()結尾。實際上這兩,個方法產生From標籤的開始和 結束標記。

對於HTML表單支援的UI元件,如button, radioButton, checkbutton 等UI元件,CHtml類別都提供了對應的方法, 例如上面的radioButtonList 和 submitButton。

除radioButtonList等之外,CHtml還提供了一組activeXXX ,比如activeRadioButtonList ,這些方法需要和CFormModel 配合使用,對於Hangman這樣的例子我們沒有另外使用Model,因此就沒有使用activeRadioButtonList方法,將在後面介紹MVC中的Model時介紹。

對與CHtml所支援的全部UI元件可以參考Yii類參考文件:http://www.yiiframework.com/doc/api/1.1/CHtml

從版本1.1.1 開始,提供了一個新的小物件CActiveForm. (http://www.yiiframework.com/doc/api/1.1/CActiveForm)以簡化表單建立。 這個小物件可同時提供客戶端及伺服器端無縫的、一致的驗證。這些在Yii支援的UI元件時一併介紹。

以上就是PHP開發框架Yii Framework教程(7) 使用CHtml創建Form的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn