欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

[PHP]CodeIgniter学习手册(五):表单辅助函数Form的应用教程

程序员文章站 2022-05-14 16:26:09
...

载入辅助函数 用下面的代码载入该辅助函数: $this-load-helper('form'); form_open() 允许你添加一些form属性和一些隐藏表单,并且他会基于你的 config.php 文件里设置的编码,自动生成 accept-charset 这个属性。 使用这个函数而不是直接硬编码HTML的主要

载入辅助函数
用下面的代码载入该辅助函数:
$this->load->helper('form');


form_open()

允许你添加一些form属性和一些隐藏表单,并且他会基于你的 config.php 文件里设置的编码,自动生成 accept-charset 这个属性。使用这个函数而不是直接硬编码HTML的主要的优势是使你的程序可以方便的转换,如果你的URL变化的话。

下面是一个例子:
echo form_open('email/send');
上面的例子会创建一个form提交至你的基础URL加上"email/send" URI片段,像这样:


添加一些属性

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

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




增加隐藏域

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

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



form_open_multipart()

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


form_hidden()
可以使你创建一个隐藏输入栏。你可以输入name和value来创建一个:

echo form_hidden('username', 'johndoe');
将产生:
或者你也可以使用数组来联合创建它们:
$data = array(
              'name'  => 'John Doe',
              'email' => 'john@example.com',
              'url'   => 'http://example.com'
            );

echo form_hidden($data);
将产生:



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

echo form_input('username', 'johndoe');
或者你也可以用关联数组来添加你想加入的内容:
$data = array(
              'name'        => 'username',
              'id'          => 'username',
              'value'       => 'johndoe',
              'maxlength'   => '100',
              'size'        => '50',
              'style'       => 'width:50%',
            );

echo form_input($data);
将产生:
如果你想加入一些额外的内容,例如Javascript,你可以在第三个参数里输入字符串来创建它:
$js = 'onClick="some_function()"';
echo form_input('username', 'johndoe', $js);
form_password()

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


form_upload()

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


form_textarea()

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


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

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );
$shirts_on_sale = array('small', 'large');
echo form_dropdown('shirts', $options, 'large');
将会生成:


echo form_dropdown('shirts', $options, $shirts_on_sale);
将会生成:

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



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



form_fieldset()


echo form_fieldset('Address Information');
echo "

fieldset content here

\n"; echo form_fieldset_close();
生成

Address Information

form content here


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

$attributes = array('id' => 'address_info', 'class' => 'address_info');
echo form_fieldset('Address Information', $attributes);
echo "

fieldset content here

\n"; echo form_fieldset_close();
生成

Address Information

form content here



form_fieldset_close()

$string = "