Location: PHPKode > projects > JaPHPaDoc > exemples/classes/field.buttonfield.class.inc
<?php


require_once('htmltag.class.inc');
require_once('field.class.inc');

/** Boutons de formulaire
*
* @author  Nicolas Chambrier - hide@address.com
* @version 1.0
*
* @public
*
**/
class ButtonField extends Field
{

    /** valeur du bouton, et texte affiché
    *
    * @type string
    * @private
    *
    **/
    var $value;

    /** Construit un bouton
    *
    * @param int type le type de bouton, une valeur parmi TYPE_SUBMIT, TYPE_RESET et TYPE_BUTTON
    * @param string name le nom du composant
    * @param string value la valeur du composant, également le texte affiché
    * @public
    *
    **/
    function ButtonField ($type, $name, $value)
    {
        if ($type != Field::TYPE_SUBMIT() && $type != Field::TYPE_RESET() && $type != Field::TYPE_BUTTON())
            $type = Field::TYPE_BUTTON();
        $this->Field($type, $name);
        $this->setValue($value);
    }

    /** Modifie la valeur du composant
    *
    * @param string value (optionnel) la nouvelle valeur. Aucune si non spécifié.
    * @type void
    *
    **/
    function setValue($value = NULL) {$this->value = $value;}
    
    /** Récupère la valeur du composant
    *
    * @return la valeur du composant
    * @type string
    *
    **/
    function getValue() {return $this->value;}

    /** Version affichable
    *
    * @return la version "string" du composant. Il s'agit du code HTML le decrivant.
    * @type string
    *
    **/
    function toString()
    {
        $tag = new HtmlTag('input', TRUE);
        switch ($this->getType()) {
            case Field::TYPE_BUTTON():
                $tag->addAttribute(new HtmlAttribute('type','button'));
                break;
            case Field::TYPE_SUBMIT():
                $tag->addAttribute(new HtmlAttribute('type','submit'));
                break;
            case Field::TYPE_RESET():
                $tag->addAttribute(new HtmlAttribute('type','reset'));
                break;
        }
        $tag->addAttribute(new HtmlAttribute('name',$this->getName()));
        $tag->addAttribute(new HtmlAttribute('value',$this->getValue()));
        return $tag->toString();
    }

}
Return current item: JaPHPaDoc