From 1a2cbdf2ec852bfe9b122ebf47fb6fb0216f38ca Mon Sep 17 00:00:00 2001 From: Derek Allard Date: Fri, 4 Jan 2008 22:26:37 +0000 Subject: documented the ability to have multiple selected items in form_dropdown() --- user_guide/helpers/form_helper.html | 783 ++++++++++++++++++------------------ 1 file changed, 398 insertions(+), 385 deletions(-) (limited to 'user_guide') diff --git a/user_guide/helpers/form_helper.html b/user_guide/helpers/form_helper.html index c26595285..62c1f68f3 100644 --- a/user_guide/helpers/form_helper.html +++ b/user_guide/helpers/form_helper.html @@ -1,386 +1,399 @@ - - - - -CodeIgniter User Guide : Form Helper - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -

CodeIgniter User Guide Version 1.5.4

-
- - - - - - - - - -
- - -
- - - -
- - -

Form Helper

- -

The Form Helper file contains functions that assist in working with forms.

- - -

Loading this Helper

- -

This helper is loaded using the following code:

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

The following functions are available:

- - - -

form_open()

- -

Creates an opening form tag with a base URL built from your config preferences. It will optionally let you -add form attributes and hidden input fields.

- -

The main benefit of using this tag rather than hard coding your own HTML is that it permits your site to be more portable -in the event your URLs ever change.

- -

Here's a simple example:

- -echo form_open('email/send'); - -

The above example would create a form that points to your base URL plus the "email/send" URI segments, like this:

- -<form method="post" action="http:/www.your-site.com/index.php/email/send" /> - -

Adding Attributes

- -

Attributes can be added by passing an associative array to the second parameter, like this:

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

The above example would create a form similar to this:

- -<form method="post" action="http:/www.your-site.com/index.php/email/send"  class="email"  id="myform" /> - -

Adding Hidden Input Fields

- -

Hidden fields can be added by passing an associative array to the third parameter, like this:

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

The above example would create a form similar to this:

- -<form method="post" action="http:/www.your-site.com/index.php/email/send"  class="email"  id="myform" />
-<input type="hidden" name="username" value="Joe" />
-<input type="hidden" name="member_id" value="234" />
- - -

form_open_multipart()

- -

This function is absolutely identical to the form_open() tag above except that it adds a multipart attribute, -which is necessary if you would like to use the form to upload files with.

- -

form_hidden()

- -

Lets you generate hidden input fields. You can either submit a name/value string to create one field:

- -form_hidden('username', 'johndoe');
-
-// Would produce:

-<input type="hidden" name="username" value="johnodoe" />
- -

Or you can submit an associative array to create multiple fields:

- -$data = array(
-              'name'  => 'John Doe',
-              'email' => 'john@example.com',
-              'url'   => 'http://www.example.com'
-            );
-
-echo form_hidden($data);
-
-// Would produce:

-<input type="hidden" name="name" value="John Doe" />
-<input type="hidden" name="email" value="john@example.com" />
-<input type="hidden" name="url" value="http://www.example.com" />
- - - - -

form_input()

- -

Lets you generate a standard text input field. You can minimally pass the field name and value in the first -and second parameter:

- -echo form_input('username', 'johndoe'); - -

Or you can pass an associative array containing any data you wish your form to contain:

- -$data = array(
-              'name'        => 'username',
-              'id'          => 'username',
-              'value'       => 'johndoe',
-              'maxlength'   => '100',
-              'size'        => '50',
-              'style'       => 'width:50%',
-            );
-
-echo form_input($data);
-
-// Would produce:

-<input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" />
- -

If you would like your form to contain some additional data, like JavaScript, you can pass it as a string in the -third parameter:

- -$js = 'onClick="some_function()"';
-
-echo form_input('username', 'johndoe', $js);
- -

form_password()

- -

This function is identical in all respects to the form_input() function above -except that is sets it as a "password" type.

- -

form_upload()

- -

This function is identical in all respects to the form_input() function above -except that is sets it as a "file" type, allowing it to be used to upload files.

- -

form_textarea()

- -

This function is identical in all respects to the form_input() function above -except that it generates a "textarea" type. Note: Instead of the "maxlength" and "size" attributes in the above -example, you will instead specify "rows" and "cols".

- - -

form_dropdown()

- -

Lets you create a standard drop-down field. The first parameter will contain the name of the field, -the second parameter will contain an associative array of options, and the third parameter will contain the -value you wish to be selected. Example:

- -$options = array(
-                  'small'  => 'Small Shirt',
-                  'med'    => 'Medium Shirt',
-                  'large'   => 'Large Shirt',
-                  'xlarge' => 'Extra Large Shirt',
-                );
-
-echo form_dropdown('shirts', $options, 'large');
-
-// Would produce:

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

If you would like the opening <select> to contain additional data, like JavaScript, you can pass it as a string in the -fourth parameter:

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

form_fieldset()

- -

Lets you generate fieldset/legend fields.

-echo form_fieldset('Address Information');
-echo "<p>fieldset content here</p>\n";
-echo form_fieldset_close(); -
-
-// Produces
-<fieldset id="address_info"> -
-<legend>Address Information</legend> -
-<p>form content here</p> -
-</fieldset>
-

Similar to other functions, you can submit an associative array in the second parameter if you prefer to set additional attributes.

-

$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();
-
-// Produces
-<fieldset id="address_info" class="address_info">
-<legend>Address Information</legend>
-<p>form content here</p>
-</fieldset>

-

form_fieldset_close()

-

Produces a closing </fieldset> tag. The only advantage to using this function is it permits you to pass data to it - which will be added below the tag. For example:

-$string = "</div></div>";
-
-echo fieldset_close($string);
-
-// Would produce:
-</fieldset>
-</div></div>
-

form_checkbox()

-

Lets you generate a checkbox field. Simple example:

-echo form_checkbox('newsletter', 'accept', TRUE);
-
-// Would produce:
-
-<input type="checkbox" name="newsletter" value="accept" checked="checked" />
-

The third parameter contains a boolean TRUE/FALSE to determine whether the box should be checked or not.

-

Similar to the other form functions in this helper, you can also pass an array of attributes to the function:

- -$data = array(
-              'name'        => 'newsletter',
-              'id'          => 'newsletter',
-              'value'       => 'accept',
-              'checked'     => TRUE,
-              'style'       => 'margin:10px',
-            );
-
-echo form_checkbox($data);
-
-// Would produce:

-<input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" />
- -

As with other functions, if you would like the tag to contain additional data, like JavaScript, you can pass it as a string in the -fourth parameter:

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

form_radio()

-

This function is identical in all respects to the form_checkbox() function above except that is sets it as a "radio" type.

- - -

form_submit()

- -

Lets you generate a standard submit button. Simple example:

-echo form_submit('mysubmit', 'Submit Post!');
-
-// Would produce:
-
-<input type="submit" name="mysubmit" value="Submit Post!" />
-

Similar to other functions, you can submit an associative array in the first parameter if you prefer to set your own attributes. - The third parameter lets you add extra data to your form, like JavaScript.

-

form_label()

-

Lets you generate a <label>. Simple example:

-echo form_label('What is your Name', 'username');
-
-// Would produce: -
-<label id="username">What is your Name</label>
-

Similar to other functions, you can submit an associative array in the third parameter if you prefer to set additional attributes.

-

$attributes = array(
- 'class' => 'mycustomclass',
- 'style' => 'color: #000;',
-);
- echo form_label('What is your Name', 'username', $attributes);
-
-// Would produce:
-<label id="username" class="mycustomclass" style="color: #000;">What is your Name</label>

-

form_reset()

- -

Lets you generate a standard reset button. Use is identical to form_submit().

- -

form_close()

- -

Produces a closing </form> tag. The only advantage to using this function is it permits you to pass data to it -which will be added below the tag. For example:

- -$string = "</div></div>";
-
-echo form_close($string);
-
-// Would produce:
-
-</form>
-</div></div>
- - - - - -

form_prep()

- -

Allows you to safely use HTML and characters such as quotes within form elements without breaking out of the form. Consider this example:

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

Since the above string contains a set of quotes it will cause the form to break. -The form_prep function converts HTML so that it can be used safely:

- -<input type="text" name="myform" value="<?php echo form_prep($string); ?>" /> - -

Note: If you use any of the form helper functions listed in this page the form -values will be prepped automatically, so there is no need to call this function. Use it only if you are -creating your own form elements.

- - - - -
- - - - - - + + + + +CodeIgniter User Guide : Form Helper + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +

CodeIgniter User Guide Version 1.5.4

+
+ + + + + + + + + +
+ + +
+ + + +
+ + +

Form Helper

+ +

The Form Helper file contains functions that assist in working with forms.

+ + +

Loading this Helper

+ +

This helper is loaded using the following code:

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

The following functions are available:

+ + + +

form_open()

+ +

Creates an opening form tag with a base URL built from your config preferences. It will optionally let you +add form attributes and hidden input fields.

+ +

The main benefit of using this tag rather than hard coding your own HTML is that it permits your site to be more portable +in the event your URLs ever change.

+ +

Here's a simple example:

+ +echo form_open('email/send'); + +

The above example would create a form that points to your base URL plus the "email/send" URI segments, like this:

+ +<form method="post" action="http:/www.your-site.com/index.php/email/send" /> + +

Adding Attributes

+ +

Attributes can be added by passing an associative array to the second parameter, like this:

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

The above example would create a form similar to this:

+ +<form method="post" action="http:/www.your-site.com/index.php/email/send"  class="email"  id="myform" /> + +

Adding Hidden Input Fields

+ +

Hidden fields can be added by passing an associative array to the third parameter, like this:

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

The above example would create a form similar to this:

+ +<form method="post" action="http:/www.your-site.com/index.php/email/send"  class="email"  id="myform" />
+<input type="hidden" name="username" value="Joe" />
+<input type="hidden" name="member_id" value="234" />
+ + +

form_open_multipart()

+ +

This function is absolutely identical to the form_open() tag above except that it adds a multipart attribute, +which is necessary if you would like to use the form to upload files with.

+ +

form_hidden()

+ +

Lets you generate hidden input fields. You can either submit a name/value string to create one field:

+ +form_hidden('username', 'johndoe');
+
+// Would produce:

+<input type="hidden" name="username" value="johnodoe" />
+ +

Or you can submit an associative array to create multiple fields:

+ +$data = array(
+              'name'  => 'John Doe',
+              'email' => 'john@example.com',
+              'url'   => 'http://www.example.com'
+            );
+
+echo form_hidden($data);
+
+// Would produce:

+<input type="hidden" name="name" value="John Doe" />
+<input type="hidden" name="email" value="john@example.com" />
+<input type="hidden" name="url" value="http://www.example.com" />
+ + + + +

form_input()

+ +

Lets you generate a standard text input field. You can minimally pass the field name and value in the first +and second parameter:

+ +echo form_input('username', 'johndoe'); + +

Or you can pass an associative array containing any data you wish your form to contain:

+ +$data = array(
+              'name'        => 'username',
+              'id'          => 'username',
+              'value'       => 'johndoe',
+              'maxlength'   => '100',
+              'size'        => '50',
+              'style'       => 'width:50%',
+            );
+
+echo form_input($data);
+
+// Would produce:

+<input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" />
+ +

If you would like your form to contain some additional data, like JavaScript, you can pass it as a string in the +third parameter:

+ +$js = 'onClick="some_function()"';
+
+echo form_input('username', 'johndoe', $js);
+ +

form_password()

+ +

This function is identical in all respects to the form_input() function above +except that is sets it as a "password" type.

+ +

form_upload()

+ +

This function is identical in all respects to the form_input() function above +except that is sets it as a "file" type, allowing it to be used to upload files.

+ +

form_textarea()

+ +

This function is identical in all respects to the form_input() function above +except that it generates a "textarea" type. Note: Instead of the "maxlength" and "size" attributes in the above +example, you will instead specify "rows" and "cols".

+ + +

form_dropdown()

+ +

Lets you create a standard drop-down field. The first parameter will contain the name of the field, +the second parameter will contain an associative array of options, and the third parameter will contain the +value you wish to be selected. You can also pass an array through the third parameter, and CodeIgniter will create a multiple select for you. Example:

+ +$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');
+
+// Would produce:
+
+<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);
+
+// Would produce:
+
+<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>
+ + +

If you would like the opening <select> to contain additional data, like JavaScript, you can pass it as a string in the +fourth parameter:

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

form_fieldset()

+ +

Lets you generate fieldset/legend fields.

+echo form_fieldset('Address Information');
+echo "<p>fieldset content here</p>\n";
+echo form_fieldset_close(); +
+
+// Produces
+<fieldset id="address_info"> +
+<legend>Address Information</legend> +
+<p>form content here</p> +
+</fieldset>
+

Similar to other functions, you can submit an associative array in the second parameter if you prefer to set additional attributes.

+

$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();
+
+// Produces
+<fieldset id="address_info" class="address_info">
+<legend>Address Information</legend>
+<p>form content here</p>
+</fieldset>

+

form_fieldset_close()

+

Produces a closing </fieldset> tag. The only advantage to using this function is it permits you to pass data to it + which will be added below the tag. For example:

+$string = "</div></div>";
+
+echo fieldset_close($string);
+
+// Would produce:
+</fieldset>
+</div></div>
+

form_checkbox()

+

Lets you generate a checkbox field. Simple example:

+echo form_checkbox('newsletter', 'accept', TRUE);
+
+// Would produce:
+
+<input type="checkbox" name="newsletter" value="accept" checked="checked" />
+

The third parameter contains a boolean TRUE/FALSE to determine whether the box should be checked or not.

+

Similar to the other form functions in this helper, you can also pass an array of attributes to the function:

+ +$data = array(
+              'name'        => 'newsletter',
+              'id'          => 'newsletter',
+              'value'       => 'accept',
+              'checked'     => TRUE,
+              'style'       => 'margin:10px',
+            );
+
+echo form_checkbox($data);
+
+// Would produce:

+<input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" />
+ +

As with other functions, if you would like the tag to contain additional data, like JavaScript, you can pass it as a string in the +fourth parameter:

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

form_radio()

+

This function is identical in all respects to the form_checkbox() function above except that is sets it as a "radio" type.

+ + +

form_submit()

+ +

Lets you generate a standard submit button. Simple example:

+echo form_submit('mysubmit', 'Submit Post!');
+
+// Would produce:
+
+<input type="submit" name="mysubmit" value="Submit Post!" />
+

Similar to other functions, you can submit an associative array in the first parameter if you prefer to set your own attributes. + The third parameter lets you add extra data to your form, like JavaScript.

+

form_label()

+

Lets you generate a <label>. Simple example:

+echo form_label('What is your Name', 'username');
+
+// Would produce: +
+<label id="username">What is your Name</label>
+

Similar to other functions, you can submit an associative array in the third parameter if you prefer to set additional attributes.

+

$attributes = array(
+ 'class' => 'mycustomclass',
+ 'style' => 'color: #000;',
+);
+ echo form_label('What is your Name', 'username', $attributes);
+
+// Would produce:
+<label id="username" class="mycustomclass" style="color: #000;">What is your Name</label>

+

form_reset()

+ +

Lets you generate a standard reset button. Use is identical to form_submit().

+ +

form_close()

+ +

Produces a closing </form> tag. The only advantage to using this function is it permits you to pass data to it +which will be added below the tag. For example:

+ +$string = "</div></div>";
+
+echo form_close($string);
+
+// Would produce:
+
+</form>
+</div></div>
+ + + + + +

form_prep()

+ +

Allows you to safely use HTML and characters such as quotes within form elements without breaking out of the form. Consider this example:

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

Since the above string contains a set of quotes it will cause the form to break. +The form_prep function converts HTML so that it can be used safely:

+ +<input type="text" name="myform" value="<?php echo form_prep($string); ?>" /> + +

Note: If you use any of the form helper functions listed in this page the form +values will be prepped automatically, so there is no need to call this function. Use it only if you are +creating your own form elements.

+ + + + +
+ + + + + + \ No newline at end of file -- cgit v1.2.3-24-g4f1b