Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2010, 20:04   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию checkbox, класс

пишу класс, позволяющий удобно работать с checkbox.
Код:
<?php
 
  error_reporting(E_ALL & ~E_NOTICE);

  ////////////////////////////////////////////////////////////
  // 
  ////////////////////////////////////////////////////////////
  require_once("class.field.php");
  class field_checkbox extends field
  {
	public $name;
    // Размер 
    public $size;
	//Отступ сверху
	protected $top;
	//Отступ слева
	public $checked;
	protected $left;
    // Конструктор класса
    function __construct($name, 
				   $caption,
                   $checked = "checked",//Checked
                   $size = 30)
    {
		$this->name = $name;
		$this->caption = $caption;
		$this->checked = $checked;
		$this->type = "checkbox";
    }

    // Метод, для возврата имени названия поля
    // и самого тэга элемента управления
    function get_html()
    {
      // Если элементы оформления не пусты - учитываем их
      if(!empty($this->css_style))
      {
        $style = "style=\"".$this->css_style."\"";
      }
      else $style = "";
      if(!empty($this->css_class))
      {
        $class = "class=\"".$this->css_class."\"";
      }
      else $class = "";

      // Если определены размеры - учитываем их

      // Формируем тэг
      $tag = "<td><input $style $class
                 type=\"".$this->type."\" 
                 name=\"".$this->name."\" 
                 $this->checked></td></tr>";
	 $this->caption = "<tr><td>".$this->caption."</td>";
      // Если поле обязательно, помечаем этот факт
	  echo $this->caption;
	  echo $tag;   
    }
   
  }
?>
вроде бы по умолчанию я сделал так, что у меня checked, а вот куда запишется значение checked или не checked когда пользователь изменит с checked на неckecked (кстати, как это будет записано?) я не знаю. подскажите пожалуйста. может как-то класс надо малость подправить?
Dimarik вне форума Ответить с цитированием
Старый 21.07.2010, 13:33   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Цитата:
Сообщение от Dimarik Посмотреть сообщение
стырил класс, позволяющий удобно работать с checkbox.
Код:
<?php
// тут был код
?>
Подправил оригинал немного.

По теме:

В метод get_html() нужно добавить

PHP код:
if(!empty($this->checked) && $this->checked == "checked")
      {
        
$checked_attr " checked=\"checked\" ";
      } else {
        
$checked_attr "";
      } 
И после
PHP код:
name=\"".$this->name."\" 
вместо
$this->checked
написать
$checked_attr

А ещё тэг input нужно закрывать /> а не >
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CheckBox Анечка1 Компоненты Delphi 4 12.05.2014 11:28
DB checkbox Arsench PHP 6 09.10.2008 16:01
CheckBox zzzzz Компоненты Delphi 6 22.07.2008 12:35