Commit b4db6396 authored by Pedro Borges's avatar Pedro Borges

Auto detect label and add id to field

parent efb040c5
......@@ -2,6 +2,13 @@
class Form {
/**
* Stores lables names.
*
* @var array
*/
private static $labels = array();
/**
* Open a HTML form.
*
......@@ -81,6 +88,8 @@ class Form {
*/
public static function label($name, $value, $attributes = array())
{
static::$labels[] = $name;
return '<label for="'.$name.'"'.HTML::attributes($attributes).'>'.HTML::entities($value).'</label>'.PHP_EOL;
}
......@@ -202,6 +211,8 @@ class Form {
{
$attributes['checked'] = 'checked';
}
(in_array($name, static::$labels)) ? $attributes['id'] = $name : null;
return static::input($type, $name, $value, $attributes);
}
......@@ -217,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.
......@@ -249,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();
......@@ -278,6 +291,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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment