Commit cd33e817 by Taylor Otwell

added several of the new html5 form elements. added support for attributes such…

added several of the new html5 form elements. added support for attributes such as required, autofocus, etc.
parent a9029ddf
......@@ -19,6 +19,7 @@ return array(
'GET /' => function()
{
return Form::input('email', 'email', '', array('required', 'class' => 'awesome'));
return View::make('home/index');
},
......
......@@ -146,6 +146,7 @@ class Form {
* Create a HTML hidden input element.
*
* @param string $name
* @param string $value
* @param array $attributes
* @return string
*/
......@@ -155,6 +156,71 @@ class Form {
}
/**
* Create a HTML email input element.
*
* @param string $name
* @param string $value
* @param array $attributes
* @return string
*/
public static function email($name, $value = null, $attributes = array())
{
return static::input('email', $name, $value, $attributes);
}
/**
* Create a HTML URL input element.
*
* @param string $name
* @param string $value
* @param array $attributes
* @return string
*/
public static function url($name, $value = null, $attributes = array())
{
return static::input('url', $name, $value, $attributes);
}
/**
* Create a HTML search input element.
*
* @param string $name
* @param string $value
* @param array $attributes
* @return string
*/
public static function search($name, $value = null, $attributes = array())
{
return static::input('search', $name, $value, $attributes);
}
/**
* Create a HTML number input element.
*
* @param string $name
* @param string $value
* @param array $attributes
* @return string
*/
public static function number($name, $value = null, $attributes = array())
{
return static::input('number', $name, $value, $attributes);
}
/**
* Create a HTML telephone input element.
*
* @param string $name
* @param string $value
* @param array $attributes
* @return string
*/
public static function tel($name, $value = null, $attributes = array())
{
return static::input('tel', $name, $value, $attributes);
}
/**
* Create a HTML file input element.
*
* @param string $name
......@@ -310,7 +376,7 @@ class Form {
* @param array $attributes
* @return string
*/
private static function input($type, $name, $value = null, $attributes = array())
public static function input($type, $name, $value = null, $attributes = array())
{
$attributes['type'] = $type;
$attributes['name'] = $name;
......
......@@ -227,6 +227,11 @@ class HTML {
foreach ($attributes as $key => $value)
{
if (is_numeric($key))
{
$key = $value;
}
if ( ! is_null($value))
{
$html[] = $key.'="'.static::entities($value).'"';
......@@ -300,6 +305,8 @@ class HTML {
array_unshift($parameters, substr($method, 8));
return forward_static_call_array('HTML::link_to_route', $parameters);
}
throw new \Exception("Static method [$method] is not defined on the HTML class.");
}
}
\ No newline at end of file
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