`
zccst
  • 浏览: 3319668 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Yii与表单交互的三种方式

 
阅读更多
作者:zccst

一、前端提交的三种方式
前面已经提出,表单提交一共只有三种方式。

1,前端原生html
(1)原生html标签
首先,直接使用html标签的input,a等;
其次,使用css进行布局。
再次,使用js或jquery方式验证
最后,提交(get/post/ajax,目前较多使用jquery提交)。

注:该种方式由于较灵活,使用最多。


(2)原生form
js或jquery方式验证,yii方式提交。
相对灵活
<form ... onSubmit="return validationFunc">
...
</form>
<script type="text/javascript">
function validationFunc(){
    //验证逻辑
}
</script>


批注:如果仅仅使用表单自带的onsubmit验证不够,也可以采用第一种办法。此时就不要使用form自带的submit按钮了。


2,前端使用yii自带widget
(3)yii方式验证、提交。
//1,自带blog登陆表单
<?php 
		$form=$this->beginWidget('CActiveForm', array(
			'id'=>'login-form',
			'enableClientValidation'=>true,
			'clientOptions'=>array(
				'validateOnSubmit'=>true,
			),
		));
	?>

//2,上传用户头像时
<?php $form=$this->beginWidget('CActiveForm', array(
	'id'=>'user-form',
	'enableAjaxValidation'=>false,
	'htmlOptions'=>array('enctype'=>'multipart/form-data'),
)); ?>

//3,看到的一个例子
<?php $form=$this->beginWidget('CActiveForm',array(
	'id'=>'login-from',
	'enableAjaxValidation'=>true,
	'action'=>'array('site/login'),
	)
)
?>


此时用到yii的表单验证功能。需要model+controller+view配合使用。详见:yii指南。
Yii方式验证、提交
1,首先,在model的rules(){return array();}设置验证规则

2,其次,在view里使用errorMessage,label,field,error
<?php echo $form->labelEx($model,'author'); ?>
<?php echo $form->textField($model,'author',array('size'=>60,'maxlength'=>128)); ?>
<?php echo $form->error($model,'author'); ?>

3,最后,在controller里
使用
$model = new Post;
$model->attributes=$_POST['Post'];

yii判断提交方式
Yii::app()->request->isPostRequest

效率比较:
(1)效率最差;
(2)效率中等;
(3)效率最高。


二、Yii在后端接收前端传来值的两种方式
1,通过二维数组$_POST['ClassName']
如果前端的表单是关于某一个model的,可以用此方法。使用较多。
例如:
$model->attributes=$_POST['Post'];
$comment->attributes=$_POST['Comment'];
还可以添加:$comment->post_id=$this->id;

2,获取get或post请求的值$this->request->getParam('key');
(1)form表单提交
前端:
<form>
<input type="text" name="belongs_to" />
<input type="submit" value="提交" />
</form>

后端:
$this->request->getParam('belongs_to');

(2)jquery的post提交
$this->request->getParam('key1');




如果您觉得本文的内容对您的学习有所帮助,您可以微信:


分享到:
评论

相关推荐

    yii示例-下拉框-最新的yii框架

    在Yii中,下拉框(Dropdown)常用于创建HTML表单中的选择菜单,它提供了用户友好的交互方式,让用户可以从预定义的选项中进行选择。在这个“yii示例-下拉框-最新的yii框架”中,我们将探讨如何在Yii2框架中实现...

    Yii中表单用法实例详解

    Yii框架在处理表单时提供了一种高效且灵活的方法,使得开发者可以轻松地创建和管理用户输入。...通过这种方式,Yii提供了强大的表单处理能力,使得开发者能够快速、安全地构建Web应用程序的用户交互部分。

    yii 三级联动 省市区

    这个“yii 三级联动 省市区”压缩包提供的就是一个基于 Yii 框架实现的此类功能的示例。 在 Yii 框架中,实现三级联动通常涉及以下几个关键知识点: 1. **模型(Model)**:在 Yii 中,数据模型是 MVC(模型-视图-...

    Yii框架表单提交验证功能分析

    在Yii中,表单处理是一个重要的部分,它涉及到前端与后端的交互以及数据验证,确保用户输入的有效性和安全性。 一、前端表单提交与验证 1. **前端原生HTML提交**: - 原生HTML标签:使用`&lt;input&gt;`、`&lt;a&gt;`等标签...

    yii新闻系统源码

    Yii提供了一套强大的表单验证规则,对于新闻系统中的新闻发布表单,可以轻松实现对输入内容的验证,如标题的长度限制、内容的非空检查等。 8. **AJAX集成** Yii支持AJAX操作,可以实现无刷新的用户体验。在新闻...

    YII-1.1.8中文手册

    - 表单数据的接收和处理,以及与模型的交互,都有详细的指导。 6. **模板引擎与视图**: - Yii的CView和CTemplateView类提供了强大的视图渲染功能,支持嵌套和布局。 - 使用PHP代码直接在视图中编写,增强了视图...

    Yii框架form表单用法实例

    在Yii中,可以创建两种模型:表单模型和ActiveRecord模型。表单模型主要用于收集数据并进行验证,而ActiveRecord模型则用于与数据库进行交互,保存收集的数据。 2. 定义模型类和特性(Attributes):在Yii框架中,...

    YII框架中文手册

    4. **RESTful Web服务**:Yii支持构建RESTful API,方便移动应用和其他服务与Web应用进行数据交互。 5. **性能优化**:Yii内置了页面碎片缓存、数据块缓存、查询缓存等,还支持输出压缩和合并,有效提升应用性能。 ...

    Yii框架快速入门

    同时,Yii还支持数据访问对象(DAO)方式,为更复杂的数据操作提供了灵活性。 六、表单处理 Yii提供了强大的表单处理功能,包括自动验证和错误显示。只需在模型中定义验证规则,Yii就能自动处理表单提交并进行验证...

    yii简易后台基础模板

    6. **表单处理**:Yii提供表单创建和验证工具,可以轻松创建HTML表单并处理用户输入,防止常见的安全问题。 7. **错误处理与日志**:Yii框架内置了错误处理和日志记录机制,帮助开发者追踪和调试问题。 8. **国际...

    Yii-Bootstrap插件

    该插件的核心功能在于将Bootstrap的CSS样式和JavaScript库集成到Yii框架中,使得开发者可以快速地在Yii应用中利用Bootstrap的样式和交互效果。这不仅提高了开发效率,也保证了应用程序的外观与Bootstrap保持一致,...

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    7. **Ajax支持**:Yii 提供了强大的Ajax功能,如Yii CGridView和CListView,可以轻松创建数据驱动的交互式界面。 8. **Gii代码生成工具**:Gii 是Yii自带的代码生成工具,能自动生成模型、控制器、表单和CRUD操作,...

    php开发框架Yii2

    Yii2 具有强大的API开发支持,可以方便地构建符合RESTful原则的Web服务,与移动应用和其他服务进行交互。 七、社区支持与生态系统 Yii2 拥有活跃的开发者社区,提供了丰富的扩展和插件,如yii2-admin、yii2-grid等...

    yii项目源代码

    Yii提供了一种模型-视图-控制器(MVC)架构模式,使开发者可以清晰地分离业务逻辑和表现层。它还内置了数据库访问对象(DAO)、ActiveRecord模式,以及强大的查询构建器,使得数据库操作变得简单易行。此外,Yii提供...

    yii用户注册表单验证实例

    视图层负责展示用户界面,并提供用户与应用程序交互的界面元素。Yii框架中视图通常是PHP脚本文件,它使用Yii的视图组件来展示数据。 1. **表单元素生成**:使用Yii框架中的`CActiveForm`小部件来生成表单元素,这些...

    yii开发文档

    3. **数据库操作**:Yii 提供了Active Record模式,允许开发者通过对象关系映射(ORM)方式操作数据库。这使得数据库操作更加便捷,减少了SQL的编写。 4. **缓存管理**:Yii 内置了多种缓存机制,如文件缓存、...

    yii手册 中文 chm格式

    11. **扩展和组件**:讲解如何创建自定义组件,以及如何使用Yii社区提供的第三方扩展。 12. **性能优化**:提供了各种优化技巧,包括配置调整、缓存策略和数据库查询优化。 13. **部署**:涵盖了将应用部署到生产...

    yii1.1中文手册

    Yii是一个高效的、基于组件的PHP框架,用于开发Web2.0...- 扩展和插件:指导如何创建和使用Yii的扩展和第三方插件。 通过这份手册,开发者可以全面了解Yii1.1框架,无论是新手还是老手,都能从中受益,提升开发效率。

    php yii2框架 普查平台

    其次,Yii2支持Active Record模式,这是一种对象关系映射(ORM)技术,允许开发者通过面向对象的方式操作数据库。在"普查平台"中,可能有多个Active Record类对应不同的数据表,如用户信息、问卷详情、调查结果等。 ...

    YII框架开源项目

    6. **RESTful API支持**:Yii支持构建RESTful风格的API,便于与其他系统进行数据交互,适合移动互联网应用的开发。 **iiSNS论坛的关键功能** 1. **用户系统**:iiSNS拥有完善的用户注册、登录、个人信息管理等功能...

Global site tag (gtag.js) - Google Analytics