热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

在创建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的定义:

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!

    

    

    


    
    

    
You must choose a difficulty level!    

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


推荐阅读
  • 本文探讨了Java异常处理的本质,提出了设计模式以优化异常处理,并分析了在AOP模型中异常处理的应用。文章强调了正确使用Java异常对于提升代码质量和维护性的关键作用。 ... [详细]
  • 本文探讨了缓存系统中的两个关键问题——缓存穿透与缓存失效时的雪崩效应,以及这些问题的解决方案。此外,文章还介绍了数据处理、数据库拆分策略、缓存优化、拆分策略、应用架构演进及通信协议的选择等内容。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了在PHP中如何创建新文件以及如何使自定义函数在整个项目中全局可用的方法,包括最新的实践技巧。 ... [详细]
  • 本文介绍了在一卡通项目中设计加密管理方案时,证书服务器的配置步骤及其在用户权限控制中的应用。首先概述了证书服务器的基本设置,包括操作系统的选择和证书服务的安装,随后详细描述了服务器证书及客户端证书的创建过程。 ... [详细]
  • 本文探讨了在执行SQL查询时遇到的因字符集不同而导致查询结果差异的问题,特别是涉及中文字符时。文章分析了在不同字符集设置下,SQL查询结果的变化,并提供了详细的解决方案。 ... [详细]
  • 本文探讨了如何在JavaScript中调用PHP函数及实现两者之间的有效交互,包括通过AJAX请求、动态生成JavaScript代码等方法。 ... [详细]
  • 本文介绍如何利用Python中的Epoll机制构建一个高效的Web服务器,该服务器能够处理多个并发连接,并向每个连接的客户端返回预定义的响应文本。通过使用Epoll,服务器可以实现高性能的I/O多路复用。 ... [详细]
  • 本文介绍了如何通过安装 VirtualBox 和 Vagrant 来快速搭建和管理虚拟机环境。我们将详细探讨如何选择合适的 Box 镜像,以及如何高效地下载、添加和管理这些镜像。 ... [详细]
  • HTML中用于创建表单的标签是什么
    本文将详细介绍HTML中用于创建表单的标签及其基本用法,包括表单的主要特性和常用的属性设置。如果您正在学习HTML或需要了解如何在网页中添加表单,这将是一个很好的起点。 ... [详细]
  • Elasticsearch基础操作指南:使用Postman进行数据管理
    本文将介绍如何利用Postman工具执行基本的日志写入和数据管理操作。通过本教程,您将了解如何连接至Elasticsearch服务,创建索引,存储及检索数据。 ... [详细]
  • 本文详细记录了《PHP与MySQL Web开发》第一章的学习心得,特别关注了PHP的基本构成元素、标记风格、编程注意事项及表单处理技巧等内容。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
author-avatar
手机用户2502933251
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有