mirror of
https://github.com/laravel/laravel.git
synced 2025-02-20 11:53:14 +08:00
Merge pull request #4 from pedroborges/develop
Added <label> element to form class. Input elements will automatically receive the ID of the corresponding label element if one exists.
This commit is contained in:
commit
80173d4848
@ -2,6 +2,13 @@
|
||||
|
||||
class Form {
|
||||
|
||||
/**
|
||||
* Stores labels names.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private static $labels = array();
|
||||
|
||||
/**
|
||||
* Open a HTML form.
|
||||
*
|
||||
@ -71,6 +78,21 @@ class Form {
|
||||
return Session::get('csrf_token');
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a HTML label element.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $value
|
||||
* @param array $attributes
|
||||
* @return string
|
||||
*/
|
||||
public static function label($name, $value, $attributes = array())
|
||||
{
|
||||
static::$labels[] = $name;
|
||||
|
||||
return '<label for="'.$name.'"'.HTML::attributes($attributes).'>'.HTML::entities($value).'</label>'.PHP_EOL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a HTML text input element.
|
||||
*
|
||||
@ -189,6 +211,8 @@ class Form {
|
||||
{
|
||||
$attributes['checked'] = 'checked';
|
||||
}
|
||||
|
||||
(in_array($name, static::$labels)) ? $attributes['id'] = $name : null;
|
||||
|
||||
return static::input($type, $name, $value, $attributes);
|
||||
}
|
||||
@ -204,6 +228,7 @@ class Form {
|
||||
public static function textarea($name, $value = '', $attributes = array())
|
||||
{
|
||||
$attributes['name'] = $name;
|
||||
(in_array($name, static::$labels)) ? $attributes['id'] = $name : null;
|
||||
|
||||
// -------------------------------------------------------
|
||||
// Set the default number of rows.
|
||||
@ -236,6 +261,7 @@ class Form {
|
||||
public static function select($name, $options = array(), $selected = null, $attributes = array())
|
||||
{
|
||||
$attributes['name'] = $name;
|
||||
(in_array($name, static::$labels)) ? $attributes['id'] = $name : null;
|
||||
|
||||
$html_options = array();
|
||||
|
||||
@ -275,6 +301,7 @@ class Form {
|
||||
$attributes['type'] = $type;
|
||||
$attributes['name'] = $name;
|
||||
$attributes['value'] = $value;
|
||||
(in_array($name, static::$labels)) ? $attributes['id'] = $name : null;
|
||||
|
||||
return '<input'.HTML::attributes($attributes).' />'.PHP_EOL;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user