POO PHP Helper "HelperText" - input-text

POO PHP Helper "HelperText" - input-text

PHP Clase para crear y manipular un control text

Disclaimer:

Este código esta obsoleto. Ahora ha evolucionado a una librería completa de helpers que está publicada en Theframework Helpers

El método get_html() devuelve el string html asociado al control input-text.

<input type="text" ... >

¿Cómo utilizarla?

<?php //Por defecto el id y el nombre del campo se crea con el mismo valor. //si se desea otro nombre puedes usar el metodo set_name("valor_para_name"); $oTxtCampo = new HelperText("NombreCampo","textoLabel","string en value"); //Si se desea que se muestre en solo lectura $oTxtCampo->readonly(); //Obligatorio $oTxtCampo->required(); //añadiendo código javascript a un evento $oTxtCampo->js_onchange("alert('se ha ejecutado el evento onchange()')"); //añadiendo clases de estilos $oTxtCampo->add_class("clsMiEstilo"); $oTxtCampo->add_class("clsMiEstilo2"); //añadiendo estilos desde style $oTxtCampo->set_style("background:red;"); //si necesitas añadir atributos extras al elemento input $oTxtCampo->set_extras("someattrib=\"value\""); //Un ejemplo del uso de atributo display. display por defecto está a true. //si se pasa a false no se mostrará con show(). if($unValor=="invalido") $oTxtCampo->display(false); $oTxtCampo->show(); ?> RESULTADO: <label for="NombreCampo">textoLabel</label> <input type="text" name="NombreCampo" id="NombreCampo" value="string en value" readonly required onchange="alert('se ha ejecutado el evento onchange()')" class="clsMiEstilo clsMiEstilo2" style="background:red;" someattrib="value">

La clase HelperText

/* @author: Eduardo Acevedo Farje @web: www.eduardoaf.com */ <?php class HelperText extends MainHelper { private $_type = "text"; private $_value = ""; private $_name; private $_maxlength; //Para text private $_extras; private $_extras_for_label; public function __construct ($sControlId, $sValue="", $label="", $extras="", $iMaxLength="50", $class="", $extrasForLabel="") { $this->_control_id = $sControlId; //Esta clase estatica ComponentText lo que hace es convertir //caracteres conflictivos de texto plano a entidades html. $this->_value = ComponentText::clean_for_html($sValue); $this->_name = $sControlId; $this->_label = $label; $this->_maxlength = $iMaxLength; $this->_extras = $extras; $this->_class = $class; $this->_extras_for_label = $extrasForLabel; } public function get_html() { $sHtmlInputText = ""; $sDivFieldContain = "<div data-role=\"fieldcontain\">\n"; $sDivFieldContainEnd = "</div>\n"; $sClass = $this->get_class_style_from_array(); $this->_extras_for_label .= $sClass; if(!empty($this->_label)) $sHtmlInputText .= $this->create_html_label($this->_control_id,$this->_label,$this->_extras_for_label); $sHtmlInputText .= "<input "; $sHtmlInputText .= "type=\"$this->_type\" "; $sHtmlInputText .= "id=\"$this->_control_id\" "; $sHtmlInputText .= "name=\"$this->_name\" "; $sHtmlInputText .= "value=\"$this->_value\" "; if(!empty($this->_maxlength))$sHtmlInputText .= "maxlength=\"$this->_maxlength\" "; if($this->_isDisabled) $sHtmlInputText .= "disabled "; if($this->_isReadOnly) $sHtmlInputText .= "readonly "; if($this->_isRequired) $sHtmlInputText .= "required "; if($this->_js_onblur) $sHtmlInputText .= "onblur=\"$this->_js_onblur\" "; $sHtmlInputText .= $sClass; if(!empty($this->_style)) $sHtmlInputText .= "style=\"$this->_style\" "; if(!empty($this->_extras)) $sHtmlInputText .= $this->_extras; $sHtmlInputText .= ">\n"; if($this->_useFieldContain) $sHtmlInputText = $sDivFieldContain.$sHtmlInputText.$sDivFieldContainEnd; return $sHtmlInputText; } public function set_type($sType) { $this->_type = $sType; } public function set_control_id($sValor) { $this->_control_id = $sValor; } public function set_name($sValor) { $this->_name = $sValor; } public function set_extras($sValor) { $this->_extras = $sValor; } public function set_value($sValue) { $this->_value = ComponentText::clean_for_html($sValue); } public function set_label($sValue) { $this->_label = $sValue; } public function set_extras_for_label($sValue) { $this->_extras_for_label = $sValue; } public function set_maxlength($iNumChars) { $this->_maxlength = $iNumChars; } public function set_keycode($isKeyCode=true) { $this->_isKeyCode = $isKeyCode; } //=============== GET ====================== public function get_control_id() { return $this->_control_id; } public function get_name() { return $this->_name; } public function get_value() { return $this->_value; } public function get_class() { return $this->_class; } public function get_extras() { return $this->_extras; } public function get_label() { return $this->_label; } }

Autor: Eduardo A. F.
Publicado: 14-04-2012 13:10
Actualizado: 27-04-2012 20:10