forked from bcit-ci/CodeIgniter
-
Notifications
You must be signed in to change notification settings - Fork 26
button to
eliasdorneles edited this page Aug 3, 2012
·
5 revisions
The idea is simple (and copied from Rails): it is a helper that creates a post form with a submit button. Optionally, it can have input hiddens as a array in the last parameter.
It has great value in lists of records that have options that are not "elegant" send them as get parameters.
<!-- Simple button -->
<?php echo button_to('Button value' , 'controller/action' ,
array('hidden_name' => 'value' )) ?>
<!-- Personalized -->
<?php echo button_to( array('value' => 'Button value', 'class' => 'css Class') ,
'controller/action', array('hidden_name' => 'value' )) ?>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Creates a post form with a submit button.
*
* @access public
* @param mixed button's value or array with html configuration
* @param string (module/)controller/action to post.
* @param string associative array (hash) with key equals to hidden field's name
and value equals to hidden's value.
* @return string
*/
if ( ! function_exists('button_to')) {
function button_to( $button_format, $destination , $hiddens = null)
{
$CI =& get_instance();
$html = "<form action='{$CI->config->site_url($destination)}' method='post'>";
if (!empty($hiddens))
{
foreach ($hiddens as $key => $value)
$html .= "<input type='hidden' name='$key' value='$value' />";
}
if (is_array($button_format))
{
$html .= "<input type='submit' ";
foreach ($button_format as $key => $value)
$html .= $key . "='". $value . "' ";
$html .= "/>";
} else {
$html .= "<input type='submit' value='{$button_format}' />";
}
$html .= "</form>";
return $html;
}
}