点击这里给我发消息 点击这里给我发消息

PHP开发框架Yii Framework教程(7) 使用CHtml创建Form

添加时间:2013-12-6
    相关阅读: 开发 页面 HTML JavaScript PHP 框架 VC
 

在创建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('level', null, $levels); ?>    

<br/>    
<?php echo CHtml::submitButton('Play!'); ?>    

<?php if($error): ?>    
<span style="color:red">You must choose a difficulty level!</span>    
<?php endif; ?>

<?php echo CHtml::endForm(); ?>

使用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组件时一并介绍。

 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册