CodeIgniter框架——表單輔助函數總結

首先第一步就是載入輔助函數:php

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


函數解析:html



 

一、form_open()數組

建立一個開始form標籤,相對於你的配置文檔中的基礎URL。容許你添加一些form屬性和一些隱藏表單,而且他會基於你的 config.php 文件裏設置的編碼,自動生成 accept-charset這個屬性。函數

範例:post

echo form_open('email/send');

上面的例子會建立一個form提交至你的基礎URL加上"email/send" URI片斷,像這樣:this

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

添加一些屬性——能夠在第二個參數裏傳遞一個關聯數組來達到這一目的,像這樣:編碼

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

上面的例子會建立一個這樣的form標籤:spa

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

增長隱藏域——隱藏域可使用數組加在第三個參數上,就像這樣:code

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

上面的例子會建立一個這樣的form標籤和這些隱藏域:orm

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


 

二、form_open_multipart()

這個函數和上面的form_open()函數徹底同樣,不一樣之處在於它多了一個multipart屬性。若是你要製做一個上傳文件的表單,這個屬性是必須的。



 

三、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);
// 將產生:
<input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" />

若是你想加入一些額外的內容,例如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');

// 將會生成:

<select name="shirts">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>
echo form_dropdown('shirts', $options, $shirts_on_sale);

// 將會生成:

<select name="shirts" multiple="multiple">
<option value="small" selected="selected">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>

若是你但願 <select> 開始標籤包含一些額外的屬性,例如 id 屬性以及JavaScript,你能夠將一個字符串做爲第四個參數傳遞過去:

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

若是$options參數是一個多維數組,form_dropdown() 函數將使用數組的鍵做爲 label值生成一個 <optgroup> 標籤。



 

八、form_multiselect()

該函數能夠生成標準的複選列表。第一個參數給出表單項的名稱;第二個參數用一個關聯數組給出該表單項的所有可選項列表;第三個參數規定哪幾項是默認已選取的。這些參數的用法跟上面的form_dropdown()徹底同樣。固然,因爲是複選的,在處理傳值的時候,咱們要使用數組的語法。數組語法的例子:foo[]



 

九、form_fieldset()

幫助你生成fieldset/legend標籤

echo form_fieldset('Address Information');
echo "<p>fieldset content here</p>\n";
echo form_fieldset_close(); 

// 生成
<fieldset> 
<legend>Address Information</legend> 
<p>form content here</p> 
</fieldset>

與其它函數相似,在第二個參數你能夠傳遞一個關聯數組來添加你本身想要的自定義的屬性。

$attributes = array('id' => 'address_info', 'class' => 'address_info');
echo form_fieldset('Address Information', $attributes);
echo "<p>fieldset content here</p>\n";
echo form_fieldset_close(); 

// 生成
<fieldset id="address_info" class="address_info"> 
<legend>Address Information</legend> 
<p>form content here</p> 
</fieldset>


 

十、form_fieldset_close()

生成一個結束的fieldset標籤。惟一的優點是,使用該函數,你能夠傳遞數據,這些數據會附加在這個標籤的後面。例如:

$string = "</div></div>";
echo fieldset_close($string);

// 會生成:
</fieldset>
</div></div>


 

十一、form_checkbox()

做用是生成一個複選框。簡單範例以下:

echo form_checkbox('newsletter', 'accept', TRUE);
// 將會生成:
<input type="checkbox" name="newsletter" value="accept" checked="checked" />

第三個參數爲 TRUE/FALSE 布爾值,決定複選框是否被默認選中。

與其它表單輔助函數類似的是,你能夠把包含了屬性值的數組做爲參數傳遞給本函數:

$data = array(
    'name'        => 'newsletter',
    'id'          => 'newsletter',
    'value'       => 'accept',
    'checked'     => TRUE,
    'style'       => 'margin:10px',
    );
echo form_checkbox($data);
// 將會生成:
<input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" />

與其它函數類似的,若是你但願此標籤包含額外的數據,例如JavaScript,你能夠將一個字符串做爲第四個參數傳遞過去:

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


 

十二、form_radio()

此函數與上面的 form_checkbox() 函數幾乎徹底相同,惟一的區別是此函數生成的是 "radio" 單選框。



 

1三、form_submit()

幫助你生成一個標準的submit按鈕。示例以下:

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

與其它函數相似,第一個參數你能夠傳遞一個關聯數組來設置你所須要的屬性。第三個參數容許你添加一些額外的內容到生成的HTML代碼裏。



 

1四、form_label()

幫助你生成一個label.示例以下:

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

與其它函數相似,你能夠在第三個參數傳入一個關聯數組來增長一些額外的屬性值。

$attributes = array(
'class' => 'mycustomclass',
'style' => 'color: #000;',
);
echo form_label('你的名字是?', 'username', $attributes);
// 會生成: 
<label for="username" class="mycustomclass" style="color: #000;">你的名字是?</label>


 

1五、form_reset()

做用是生成一個標準的 reset 按鈕。此函數用法與 form_submit() 徹底相同。



 

1六、form_button()

做用是生成一個標準的按鈕。你至少要給出兩個參數,它們分別是按鈕的名稱和內容:

echo form_button('name','content');
// 將會生成
<button name="name" type="button">Content</button>

或者你也能夠將一個包含有任何你想要的數據的關聯數組做爲參數傳遞過去:

$data = array(
    'name' => 'button',
    'id' => 'button',
    'value' => 'true',
    'type' => 'reset',
    'content' => 'Reset'
);
echo form_button($data);
// 將會生成:
<button name="button" id="button" value="true" type="reset">Reset</button>

若是你但願表單包含一些額外的數據,例如JavaScript,你能夠將一個字符串做爲第三個參數傳遞過去:

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


 

1七、form_close()

做用是生成一個關閉 </form> 標籤。使用此函數的惟一好處是,你能夠將這個標籤以後要添加的數據也傳遞過去。例如:

$string = "</div></div>";
echo form_close($string);
// 將會生成:
</form>
</div></div>


 

1八、form_prep()

容許你放心地在表單元素中使用HTML字符(例如引號),沒必要擔憂破壞表單。考慮一下下面這個範例:

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

由於上面的字符串中包含了引號,於是致使表單被破壞。form_prep()函數會轉換HTML,所以能夠放心使用:

<input type="text" name="myform" value="<var<<?php echo form_prep($string); ?></var<" />
說明: 若是你使用的是表單輔助函數中的任何一個,數據都會自動的進行預處理,因此沒有必要調用本函數。只有當你手動建立表單元素時,你才須要本函數。


 

1九、set_value()

容許你設置 input 或者 textarea 字段的值。你必須在第一個參數中指定字段名稱。第二個參數是可選的,容許你給字段設置一個默認值。例如:

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

當上面的表單元素第一次加載時將會顯示"0"。



 

20、set_select()

若是你使用 <select> 下拉菜單,此函數容許你顯示選中的菜單項。第一個參數必須包含下拉菜單的名稱,第二個參數必須包含每一個菜單項的值。,第三個參數是可選的,做用是設置菜單項爲默認選中狀態(使用TRUE/FALSE布爾值)。

範例:

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


 

2一、set_checkbox()

容許你顯示一個處於提交狀態的複選框。第一個參數必須包含此複選框的名稱,第二個參數必須包含它的值,第三個參數是可選的,做用是設置複選框爲默認選中狀態(使用TRUE/FALSE布爾值)。

例如:

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


 

2二、set_radio()

容許你顯示那些處於提交狀態的單選框。這個函數與前面的 set_checkbox() 是相同的。

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


 

範例:

相關文章
相關標籤/搜索