首先第一步就是载入辅助函数:

  1. $this->load->helper('form');


函数解析:



1、form_open()

创建一个开始form标签,相对于你的配置文档中的基础URL。允许你添加一些form属性和一些隐藏表单,并且他会基于你的 config.php 文件里设置的编码,自动生成 accept-charset这个属性。

范例:

  1. echo form_open('email/send');

上面的例子会创建一个form提交至你的基础URL加上"email/send" URI片段,像这样:

  1. <form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" />

添加一些属性——可以在第二个参数里传递一个关联数组来达到这一目的,像这样:

  1. $attributes = array('class' => 'email', 'id' => 'myform');
  2. echo form_open('email/send', $attributes);

上面的例子会创建一个这样的form标签:

  1. <form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" class="email" id="myform" />

增加隐藏域——隐藏域可以使用数组加在第三个参数上,就像这样:

  1. $hidden = array('username' => 'Joe', 'member_id' => '234');
  2. echo form_open('email/send', '', $hidden);

上面的例子会创建一个这样的form标签和这些隐藏域:

  1. <form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send">
  2. <input type="hidden" name="username" value="Joe" />
  3. <input type="hidden" name="member_id" value="234" />


2、form_open_multipart()

这个函数和上面的form_open()函数完全一样,不同之处在于它多了一个multipart属性。如果你要制作一个上传文件的表单,这个属性是必须的。



3、form_input()

以使你创建一个标准输入栏。你可以在第一和第二个参数里输入name和value来创建一个:

  1. echo form_input('username', 'johndoe');

或者你也可以用关联数组来添加你想加入的内容:

  1. $data = array(
  2. 'name' => 'username',
  3. 'id' => 'username',
  4. 'value' => 'johndoe',
  5. 'maxlength' => '100',
  6. 'size' => '50',
  7. 'style' => 'width:50%',
  8. );
  9. echo form_input($data);
  10. // 将产生:
  11. <input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" />

如果你想加入一些额外的内容,例如Javascript,你可以在第三个参数里输入字符串来创建它:

  1. $js = 'onClick="some_function()"';
  2. echo form_input('username', 'johndoe', $js);


4、form_password()

此函数除了是设置type为“password”外和上面的 form_input() 函数完全一样。



5、form_upload()

此函数与上面的 form_input() 函数几乎完全相同,唯一的区别是此函数所设置的 type 为 "file",用来上传文件



6、form_textarea()

此函数与上面的 form_input() 函数几乎完全相同,唯一的区别是此函数所生成的是一个"textarea"。说明:上面的范例中所指定的 "maxlength" 和 "size" 属性在这里变成了 "rows" 和 "cols" 



7、form_dropdown()

创建一个标准的下拉列表字段。第一个参数是字段名,第二个参数是一个包含各个选项的关联数组,第三个参数是你想要设置为默认被选中的值。第三个参数也可以是一个包含多个项目的数组,CI 将为你创建多选下拉列表。例如:

  1. $options = array(
  2. 'small' => 'Small Shirt',
  3. 'med' => 'Medium Shirt',
  4. 'large' => 'Large Shirt',
  5. 'xlarge' => 'Extra Large Shirt',
  6. );
  7. $shirts_on_sale = array('small', 'large');
  8. echo form_dropdown('shirts', $options, 'large');
  9.  
  10. // 将会生成:
  11.  
  12. <select name="shirts">
  13. <option value="small">Small Shirt</option>
  14. <option value="med">Medium Shirt</option>
  15. <option value="large" selected="selected">Large Shirt</option>
  16. <option value="xlarge">Extra Large Shirt</option>
  17. </select>
  18. echo form_dropdown('shirts', $options, $shirts_on_sale);
  19.  
  20. // 将会生成:
  21.  
  22. <select name="shirts" multiple="multiple">
  23. <option value="small" selected="selected">Small Shirt</option>
  24. <option value="med">Medium Shirt</option>
  25. <option value="large" selected="selected">Large Shirt</option>
  26. <option value="xlarge">Extra Large Shirt</option>
  27. </select>

如果你希望 <select> 开始标签包含一些额外的属性,例如 id 属性以及JavaScript,你可以将一个字符串作为第四个参数传递过去:

  1. $js = 'id="shirts" onChange="some_function();"';
  2. echo form_dropdown('shirts', $options, 'large', $js);

如果$options参数是一个多维数组,form_dropdown() 函数将使用数组的键作为 label值生成一个 <optgroup> 标签。



8、form_multiselect()

该函数可以生成标准的复选列表。第一个参数给出表单项的名称;第二个参数用一个关联数组给出该表单项的全部可选项列表;第三个参数规定哪几项是默认已选取的。这些参数的用法跟上面的form_dropdown()完全一样。当然,由于是复选的,在处理传值的时候,我们要使用数组的语法。数组语法的例子:foo[]



9、form_fieldset()

帮助你生成fieldset/legend标签

  1. echo form_fieldset('Address Information');
  2. echo "<p>fieldset content here</p>\n";
  3. echo form_fieldset_close();
  4.  
  5. // 生成
  6. <fieldset>
  7. <legend>Address Information</legend>
  8. <p>form content here</p>
  9. </fieldset>

与其它函数类似,在第二个参数你可以传递一个关联数组来添加你自己想要的自定义的属性。

  1. $attributes = array('id' => 'address_info', 'class' => 'address_info');
  2. echo form_fieldset('Address Information', $attributes);
  3. echo "<p>fieldset content here</p>\n";
  4. echo form_fieldset_close();
  5.  
  6. // 生成
  7. <fieldset id="address_info" class="address_info">
  8. <legend>Address Information</legend>
  9. <p>form content here</p>
  10. </fieldset>


10、form_fieldset_close()

生成一个结束的fieldset标签。唯一的优势是,使用该函数,你可以传递数据,这些数据会附加在这个标签的后面。例如:

  1. $string = "</div></div>";
  2. echo fieldset_close($string);
  3.  
  4. // 会生成:
  5. </fieldset>
  6. </div></div>


11、form_checkbox()

作用是生成一个复选框。简单范例如下:

  1. echo form_checkbox('newsletter', 'accept', TRUE);
  2. // 将会生成:
  3. <input type="checkbox" name="newsletter" value="accept" checked="checked" />

第三个参数为 TRUE/FALSE 布尔值,决定复选框是否被默认选中。

与其它表单辅助函数相似的是,你可以把包含了属性值的数组作为参数传递给本函数:

  1. $data = array(
  2. 'name' => 'newsletter',
  3. 'id' => 'newsletter',
  4. 'value' => 'accept',
  5. 'checked' => TRUE,
  6. 'style' => 'margin:10px',
  7. );
  8. echo form_checkbox($data);
  9. // 将会生成:
  10. <input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" />

与其它函数相似的,如果你希望此标签包含额外的数据,例如JavaScript,你可以将一个字符串作为第四个参数传递过去:

  1. $js = 'onClick="some_function()"';
  2. echo form_checkbox('newsletter', 'accept', TRUE, $js)


12、form_radio()

此函数与上面的 form_checkbox() 函数几乎完全相同,唯一的区别是此函数生成的是 "radio" 单选框。



13、form_submit()

帮助你生成一个标准的submit按钮。示例如下:

  1. echo form_submit('mysubmit', 'Submit Post!');
  2. // 会生成:
  3. <input type="submit" name="mysubmit" value="Submit Post!" />

与其它函数类似,第一个参数你可以传递一个关联数组来设置你所需要的属性。第三个参数允许你添加一些额外的内容到生成的HTML代码里。



14、form_label()

帮助你生成一个label.示例如下:

  1. echo form_label('你的名字是?','username');
  2. // 会生成:
  3. <label for="username">你的名字是?</label>

与其它函数类似,你可以在第三个参数传入一个关联数组来增加一些额外的属性值。

  1. $attributes = array(
  2. 'class' => 'mycustomclass',
  3. 'style' => 'color: #000;',
  4. );
  5. echo form_label('你的名字是?', 'username', $attributes);
  6. // 会生成:
  7. <label for="username" class="mycustomclass" style="color: #000;">你的名字是?</label>


15、form_reset()

作用是生成一个标准的 reset 按钮。此函数用法与 form_submit() 完全相同。



16、form_button()

作用是生成一个标准的按钮。你至少要给出两个参数,它们分别是按钮的名称和内容:

  1. echo form_button('name','content');
  2. // 将会生成
  3. <button name="name" type="button">Content</button>

或者你也可以将一个包含有任何你想要的数据的关联数组作为参数传递过去:

  1. $data = array(
  2. 'name' => 'button',
  3. 'id' => 'button',
  4. 'value' => 'true',
  5. 'type' => 'reset',
  6. 'content' => 'Reset'
  7. );
  8. echo form_button($data);
  9. // 将会生成:
  10. <button name="button" id="button" value="true" type="reset">Reset</button>

如果你希望表单包含一些额外的数据,例如JavaScript,你可以将一个字符串作为第三个参数传递过去:

  1. $js = 'onClick="some_function()"';
  2. echo form_button('mybutton', 'Click Me', $js);


17、form_close()

作用是生成一个关闭 </form> 标签。使用此函数的唯一好处是,你可以将这个标签之后要添加的数据也传递过去。例如:

  1. $string = "</div></div>";
  2. echo form_close($string);
  3. // 将会生成:
  4. </form>
  5. </div></div>


18、form_prep()

允许你放心地在表单元素中使用HTML字符(例如引号),不必担心破坏表单。考虑一下下面这个范例:

  1. $string = 'Here is a string containing "quoted" text.';
  2. <input type="text" name="myform" value="<var<$string</var<" />

因为上面的字符串中包含了引号,因而导致表单被破坏。form_prep()函数会转换HTML,因此可以放心使用:

  1. <input type="text" name="myform" value="<var<<?php echo form_prep($string); ?></var<" />
  1. 说明: 如果你使用的是表单辅助函数中的任何一个,数据都会自动的进行预处理,所以没有必要调用本函数。只有当你手动创建表单元素时,你才需要本函数。


19、set_value()

允许你设置 input 或者 textarea 字段的值。你必须在第一个参数中指定字段名称。第二个参数是可选的,允许你给字段设置一个默认值。例如:

  1. <input type="text" name="quantity" value="<dfn><?php echo set_value('quantity', '0'); ?></dfn>" size="50" />

当上面的表单元素第一次加载时将会显示"0"。



20、set_select()

如果你使用 <select> 下拉菜单,此函数允许你显示选中的菜单项。第一个参数必须包含下拉菜单的名称,第二个参数必须包含每个菜单项的值。,第三个参数是可选的,作用是设置菜单项为默认选中状态(使用TRUE/FALSE布尔值)。

范例:

  1. <select name="myselect">
  2. <option value="one" <?php echo set_select('myselect', 'one', TRUE); ?> >One</option>
  3. <option value="two" <?php echo set_select('myselect', 'two'); ?> >Two</option>
  4. <option value="three" <?php echo set_select('myselect', 'three'); ?> >Three</option>
  5. </select>


21、set_checkbox()

允许你显示一个处于提交状态的复选框。第一个参数必须包含此复选框的名称,第二个参数必须包含它的值,第三个参数是可选的,作用是设置复选框为默认选中状态(使用TRUE/FALSE布尔值)。

例如:

  1. <input type="checkbox" name="mycheck" value="1" <?php echo set_checkbox('mycheck', '1'); ?> />
  2. <input type="checkbox" name="mycheck" value="2" <?php echo set_checkbox('mycheck', '2'); ?> />


22、set_radio()

允许你显示那些处于提交状态的单选框。这个函数与前面的 set_checkbox() 是相同的。

  1. <input type="radio" name="myradio" value="1" <?php echo set_radio('myradio', '1', TRUE); ?> />
  2. <input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />


范例:

CodeIgniter框架——表单辅助函数总结的更多相关文章

  1. tp框架表单提交注意!不要提交到当前方法

    tp框架  表单提交到当前方法,会重复执行显示部分和保存部分的代码.导致不知名的错误.

  2. tp框架表单验证

    之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...

  3. Yii 框架表单验证---实例

  4. tp框架表单验证 及ajax

    之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...

  5. django-orm框架表单的增删改查

    08.14自我总结 django-orm框架 一.orm基本配置 1.创建django项目 命令行:cmd先去到django创建目录,然后输入django-admin startproject dja ...

  6. 第48天学习打卡(HTML 行内元素和块元素 列表 表格 视频和音频 页面结构分析 iframe内联框架 表单语法 )

    行内元素和块元素 块元素 ​ 无论内容多少,该元素独占一行 ​ (p.h1-h6) 行内元素 ​ 内容撑开宽度,左右都是行内元素的可以排在一行 ​ (a.strong.em...) 列表 什么是列表 ...

  7. ThinkPHP框架表单验证

    对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验证是ThinkPHP模型层提供 ...

  8. php--yii框架表单验证

    在视图层利用表单小部件生成表单时,field只能是数据库中存在的, 例如: use yii\helpers\Html; use yii\widgets\ActiveForm; use yii\capt ...

  9. laravel框架——表单验证

    创建路由 Route::get('test','VerController@index'); Route::post('tosubmit','VerController@tosubmit'); 在控制 ...

随机推荐

  1. Web应用——驾培管理系统之个人管理(作者:小圣)

    Web应用--驾培管理系统之个人管理(作者:小圣) 本节博文旨在实现本次Web应用的个人管理功能.能够在登陆后 查看并改动个人信息或者进行password改动.同一时候,在输入的时候进行表单验证,验证 ...

  2. SQL联查语句加上order排序之后速度超级慢

    项目中使用到了分页查询,形式如下 select * from ( select row_number() over (order by a.id0) as seq,a.* from PMS_T_D_S ...

  3. TensorFlow学习笔记4——变量共享

    因为最近在研究生成对抗网络GAN,在读别人的代码时发现了 with tf.variable_scope(self.name_scope_conv, reuse = reuse): 这样一条语句,查阅官 ...

  4. 判断当前VC 是push还是present的

    NSArray *viewcontrollers=self.navigationController.viewControllers; if (viewcontrollers.count>1) ...

  5. [ci]项目规划-后续

      几个方面来写   1,搭建gitlab 配邮箱 域名等使之好用 2,搭建jenkins –yum,安装常见插件 3,搭建sonar,汉化 4,安装sonar-scanner   0,实现sonar ...

  6. osx升级到10.10后,用pod install报错终于解决的方法

    先依照这个文章做:http://blog.csdn.net/dqjyong/article/details/37958067 大概过程例如以下: Open Xcode 6 Open Preferenc ...

  7. C++语言基础(19)-模板的显式具体化

    应用背景: 例如有下面的函数模板,它用来获取两个变量中较大的一个: template<class T> const T& Max(const T& a, const T&a ...

  8. C++语言基础(2)-new和delete操作符

    在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数.如下所示: ); //分配10个int型的内存空间 free(p); //释放内存 在C++中,这两个函数仍然可以使 ...

  9. 美团HD(9)-监听点击城市

    DJSelectCityViewController.h // 点击城市发出通知 - (void)tableView:(UITableView *)tableView didSelectRowAtIn ...

  10. PHP安装加载yaf扩展

    Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, ...