利用助手(widget)在页面实现表单

控制器中

<?php

class YiiFormController extends Controller

{

public function actionIndex()

{

$bbsInfoModel = new BbsInfo();//实例化当前要添加数据库中表的模型

//这个array的参数值是让页面中的表单用的

$this->render("index",array("bbsInfoModel"=>$bbsInfoModel));//注意这个参数

}

}

?>

视图中

(注:通过查看yiilite.php得知,'CActiveForm' => '/web/widgets/CActiveForm.php')

<?php

//表单的开始,并设置相关的form属性

$form = $this->beginWidget("CActiveForm",array(

"action"=>"index.php?r=yiiform/add",

"method"=>"post",

"htmlOptions"=>array(

"enctype"=>"multipart/form-data",

"name"=>"frm",

"onsubmit"=>"return checkAdd()"

)

));

?>

标 签:<?php echo $form->label($bbsInfoModel,"标签名") ?>//label方法来源于CActiveForm类中的label方法

文本框:<?php echo $form->textField($bbsInfoModel,"表中的字段名",array("size"=>20,"maxlength"=>4))?>//textField方法来源于CActiveForm类中的textField方法

<?php $this->endWidget(); ?>//表单的结束

模型中

<?php

class BbsInfo extends CActiveRecord

{

//通过调用CActiveRecord父类的方法来获得一个当前模型对象

public static function model($className=__CLASS__)

{

return parent::model($className);

}

//指定当前模型对应的表名

public function tableName()

{

//return "bbsInfo";//完整的表名

return "{{bbsInfo}}";//省略前缀的表名

}

//该方法对应yii表单中的标签$form->label(模型对应,"id")

public function attributeLabels()

{

//注意这个返回值,与上边的视图中的label标签对应

return array(

"title_id"=>"标题",

"clickTimes_id"=>"点击次数"

);

}

}

?>

YII中的表单挂件的更多相关文章

  1. AngularJS中的表单验证

    AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...

  2. MVC中处理表单提交的方式(Ajax+Jquery)

    MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...

  3. angular中的表单验证

    angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时 ...

  4. MVC中Form表单的提交

    概述 Web页面进行Form表单提交是数据提交的一种,在MVC中Form表单提交到服务器.服务端接受Form表单的方式有多种,如果一个Form有2个submit按钮,那后台如何判断是哪个按钮提交的数据 ...

  5. Excel中的表单控件和active控件

    EXCEL中有两种控件:表单控件和active控件 表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现 关于表单控件和active控件的区别和使用范围,网 ...

  6. django中form表单的提交:

    一,关于表单: 表单在百度百科的解释:   表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...

  7. 使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)

    方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); } ...

  8. flask 在视图函数中验证表单

    在视图函数中验证表单 因为现在的basic_form视图同时接受两种类型的请求:GET请求和POST请求.所以我们要根据请求方法的不同执行不同的代码.具体来说,首先是实例化表单,如果是GET请求,就渲 ...

  9. flask 在模板中渲染表单

    在模板中渲染表单 为了能够在模板中渲染表单,我们需要把表单类实例传入模板.首先在视图函数里实例化表单类LoginForm,然后再render_template()函数中使用关键脑子参数form将表单实 ...

随机推荐

  1. 宣布 Azure Backup 支持备份 Windows Server 2008

    Giridhar Mosay 云 + Enterprise项目经理  AzureBackup已支持最新的 Windows Server 操作系统,例如 Windows Server 2008R2. ...

  2. C#基础回顾:正则表达式

    C#基础回顾:正则表达式 写在前面:本文根据笔者的学习体会结合相关书籍资料对正则表达式的语法和使用(C#)进行基本的介绍.适用于初学者. 摘要:正则表达式(Regular Expressions),相 ...

  3. 文件写操作--WriteLog

    private static void Write(string sMsg, string fileName) { if (sMsg != "") { try { var dir ...

  4. LightOJ 1074 Extended Traffic SPFA 消负环

    分析:一看就是求最短路,然后用dij,果断错了一发,发现是3次方,有可能会出现负环 然后用spfa判负环,然后标记负环所有可达的点,被标记的点答案都是“?” #include<cstdio> ...

  5. Nhibernate Icreteria 分页查询

    1.创建查询条件,条件为一个ICreterion的列表 ///        /// 创建Criteria(不含order,因为获取总数的时候,为了性能考虑,不加order)        ///   ...

  6. LR 录制时,web_link出现乱码

    在录制时,用到了web_link,但是web_link不能实别中文,因此在回放时,不能识别web_link,问题如下: web_link("??",   "Text=?? ...

  7. 【原】Spark中Master源码分析(二)

    继续上一篇的内容.上一篇的内容为: Spark中Master源码分析(一) http://www.cnblogs.com/yourarebest/p/5312965.html 4.receive方法, ...

  8. IIS7 性能(内存、CPU、当前请求耗时)监测

    程序上线了,但运行过程中如果发现很CPU.内存异常,某些操作耗时,如何在生产环境中监测并查明原因呢,有以下几种工具(方式): 1.NProfiler,这是一个商业软件,有试用周期,可以监测包括Winf ...

  9. iOS开发——GCD多线程详解

    GCD多线程详解 1. 什么是GCD Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,简单来说,GCD就是iOS一套解决多线程的机制,使用GCD能够最大限度简化多线程 ...

  10. PAT 1026

    1026. Table Tennis (30) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A table ...