Giới thiệu helper Form trên CodeIgniter

CodeIgniter cung cấp cho chúng ta rất nhiều helper, trong đó có helper Form. Bộ helper này được dùng để tạo ra các thành phần của 1 form trên CodeIgniter. Trong bài này mình sẽ trình bày các thành phần của helper Form trên CodeIgniter.

Các công cụ cần thiết.

- Bản CodeIgniter theo mô hình HMVC http://ellislab.com/codeigniter
http://filehippo.com/download_notepad

Ta sẽ đi theo từng thành phần của helper này bằng các ví dụ cụ thể.

1. Thành phần form_open($action, $attributes).

Hàm này trong CodeIgniter giúp chúng ta tạo ra thẻ mở <form>. Các tham số chính của hàm này bao gồm :
$action : Tham số này chỉ ra action của form. Ví dụ như <form action="localhost/ci-test/form" />
$attributes : Các thuộc tính của form. Ví dụ như id, class, method

<?php echo form_open('form/form-action',array('id'=>'form-ci','method'=>'POST'))?>

2. Thành phần form_hidden($name, $value)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu hidden. Thành phần này hoàn toàn ẩn trên trình duyệt. Các tham số chính của hàm này bao gồm :
$name : Tên của thành phần này
$value : Giá trị tương ứng của nó
$value ta có thể đưa ngay vào trong tham số $name để cho tiện.

<?php 
	$data_name = array('hidden1'=>'value1', 'hidden2'=>'value2');
	echo form_hidden($data_name);
?>

Giới thiệu helper Form trên CodeIgniter

3. Thành phần form_input($data, $value, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu text.
$data : Các tham số như id, class, ...
$value : Giá trị tương ứng của nó
$extra : Các thông số thêm ví dụ như onclick="JsFunction();"

<?php 
	$data = array('name'=>'input-form-name', 'id'=>'input-form-id', 'class'=>'input-form-class');
	$data_value = "Form Value"; 
	$extra_input = 'onclick="jsValidate();"';
	echo form_input($data, $data_value, $extra_input);
?>

Giới thiệu helper Form trên CodeIgniter

4. Thành phần form_password($data, $value)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu password.
$data : Các tham số như name, id, class, ...
$value : Giá trị tương ứng của nó

<?php 
	$data = array('name'=>'input-password-name', 'id'=>'input-password-id', 'class'=>'input-password-class');
	$data_value = "Form Value"; ?>
	echo form_password($data, $data_value);
?>

Giới thiệu helper Form trên CodeIgniter

5. Thành phần form_upload($data, $value)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu file.
$data : Các tham số như name, id, class, ...
$value : Giá trị tương ứng của nó, thường ta không cần cung cấp tham số này.

<?php 
	$data = array('name'=>'input-upload-name', 'id'=>'input-upload-id', 'class'=>'input-upload-class');
	echo form_upload($data);
?>

Giới thiệu helper Form trên CodeIgniter

6. Thành phần form_textarea($data, $value)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu textarea.
$data : Các tham số như name, id, class, ...
$value : Giá trị tương ứng của nó.

<?php 
	$data = array('name'=>'input-textarea-name', 'id'=>'input-textarea-id', 'class'=>'input-textarea-class', 'value' => 'This is a textarea', 'rows'=> 5, 'cols' => 20, 'autofocus'=> true);
	echo form_textarea($data);
?>

Giới thiệu helper Form trên CodeIgniter

7. Thành phần form_dropdown($name, $option, $selected, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một danh sách select.
$name : Têm của thành phần select
$option : Các giá trị option tương ứng của nó.
$selected : Các giá trị được select trước. Tương ứng tạo ra thuộc tính multiple.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();"

<?php 
	$name = "ci-dropdown";
	$data = array('part1'=>'dropdown-value-1', 'part2'=>'dropdown-value-2', 'part3'=>'dropdown-value-3', 'part4'=>'dropdown-value-4');
	$set_multiple = array('part1', 'part2');
	$extra_attributes = 'id="form-dropdown-ci"';
	echo form_dropdown($name, $data, $set_multiple, $extra_attributes);
?>

Giới thiệu helper Form trên CodeIgniter

8. Thành phần form_multiselect($name, $option, $selected, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một danh sách select với kiểu mặc định là multiple.
$name : Têm của thành phần select
$option : Các giá trị option tương ứng của nó.
$selected : Các giá trị được select trước. Tương ứng tạo ra thuộc tính multiple.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();"

<?php 
	$name = "multiple-slect" ;
	$data = array('part1'=>'dropdown-value-1', 'part2'=>'dropdown-value-2', 'part3'=>'dropdown-value-3', 'part4'=>'dropdown-value-4');
	$set_multiple = array('part1', 'part4');
	$extra_attributes = 'id="form-multiselect-ci"';
	echo form_multiselect($name, $data, $set_multiple, $extra_attributes);
?>

Giới thiệu helper Form trên CodeIgniter

9. Thành phần form_checkbox($data, $value, $checked, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu checkbox.
$data : Các tham số như name, id, class, ...
$value : Giá trị tương ứng của nó.
$checked : Thiết lập kiểu checked cho nó.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();".

<?php 
	$data = array('name'=>'form-checkbox', 'id'=>'form-checkbox', 'class'=>'form-checkbox');
	$value = 'checkbox-value';
	$checked = 'checked';
	$extra = 'onclick="validateJs();"';
	echo form_checkbox($data, $value, $checked, $extra);
?>

Giới thiệu helper Form trên CodeIgniter

10. Thành phần form_radio($data, $value, $checked, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu radio.
$data : Các tham số như name, id, class, ...
$value : Giá trị tương ứng của nó.
$checked : Thiết lập kiểu checked cho nó.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();".

<?php 
	$data = array('name'=>'form-checkbox', 'id'=>'form-checkbox', 'class'=>'form-checkbox');
	$data1 = array('name'=>'form-checkbox', 'id'=>'form-checkbox1', 'class'=>'form-checkbox');
	$value = 'checkbox-value';
	$value1 = 'checkbox-value-1';
	$checked = 'checked';?>
	$extra = 'onclick="validateJs1();"';
	$extra1 = 'onclick="validateJs1();"';
	echo form_radio($data, $value, $checked, $extra);
	echo form_radio($data1, $value1, '', $extra1);
?>

Giới thiệu helper Form trên CodeIgniter

11. Thành phần form_buton($data, $content, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu button.
$data : Các tham số như name, id, class, ...
$content : Nhãn của nút button này.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();".

<?php 
	$data_button = array('name'=>'button', 'id'=>'button', 'class'=>'button');?>
	$content_button = 'Button CodeIgniter';?>
	$extra_button = 'onclick="validateJs();"';?>
	echo form_button($data_button, $content_button, $extra_button);
?>

Giới thiệu helper Form trên CodeIgniter

12. Thành phần form_reset($data, $value, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu reset. Giúp ta thiết lập quay về giá trị mặc định của các thành phần trong form.
$data : Các tham số như name, id, class, ...
$value : Nhãn tương ứng của nó.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();".

<?php 
	$data_reset = array('name'=>'reset', 'id'=>'reset', 'class'=>'reset');
	$content_reset = 'Reset CodeIgniter';
	$extra_reset = 'onclick="validateJs();"';
	echo form_reset($data_reset, $content_reset, $extra_reset);
?>

Giới thiệu helper Form trên CodeIgniter

13. Thành phần form_submit($data, $value, $extra)

Hàm này trong CodeIgniter giúp chúng ta tạo ra một input kiểu submit.
$data : Các tham số như name, id, class, ...
$value : Nhãn tương ứng của nó.
$extra : Các thông số thêm ví dụ như onclick="JsFunction();".

<?php 
	$data_submit = array('name'=>'submit', 'id'=>'submit', 'class'=>'submit');
	$content_submit = 'SUBMIT';
	$extra_submit = 'onclick="validateJs();"';
	echo form_submit($data_submit, $content_submit, $extra_submit);
?>

Giới thiệu helper Form trên CodeIgniter

Để cụ thể hơn các bạn hãy download file ví dụ ở dưới và thực hành để làm quen với việc sử dụng form trên CodeIgniter.

File ví dụ đính kèm
helper-form-tren-codeigniter.zip

Chúc các bạn thành công :)

Tags: ,