Сегодня: 08:06:2025 С добрым утром!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 


 Страниц (1): [1]   

> Без описания

  Супермодератор
Отправлено: 21 января 2012 — 15:00
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Хотелось бы отметить, что многие изначально совершают ошибки и пишут не правильно html checkbox. То есть начитавшись в Интернет информации 10 летней давности пишут всякую охинею. Согласно одного из последних строгих DOCTYPE, который пытается нас сопроводить в эпоху HTML5 checkbox правильно пишется следующим образом:
code:
<input type="checkbox" name="checkme" checked="checked" />


Обратите внимание, id в input объекте нет! Согласно последним стандартам к таким html объектам нужно обращаться через свойство name. Также обратите внимания, что нет и value, при type="checkbox" это значение не прописывается. Оно по умолчанию =0. То есть нет смысла его указывать, если не требуется выставить, что либо принудительно.

Речь идет о стандарте: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">, в других стандартах DOCTYPE данный объект может писаться по другому. Смотрите внимательно спецификацию.


Можно сделать так. Перед тегом <input type="checkbox"> поместить тег <input type="hidden"> с тем же самым значением параметра «name»:
code:
<form …>

<input type="hidden" name="checkme" value="0">
<input type="checkbox" name="checkme" value="1">

</form>


Теперь если checkbox установлен, в переменной $checkme передастся «1», в противном случае «0». Однако, если у вас будет 10 checkbox`ов, то будете уже не приятно удивлены, как быстро начнет увеличиваться ваш html код, а некоторые браузеры покрутят пальцем возле вашего виска.

Правильно делать так...
Для начала, нужно форму сделать согласно стандартам консорциума W3C

Код html:
code:
<form action="page.php" method="post">
<input type="checkbox" name="checkme" checked="checked" /> <- правильно пишем input согласно стандартам
</form>


Код PHP:
code:
function checkbox_verify($_name)
{
$result=0;// обязательно прописываем, чтобы функция всегда возвращала результат
// проверяем, а есть ли вообще такой checkbox на html форме, а то часто промахиваются
if (isset($_REQUEST[$_name]))
{ if ($_REQUEST[$_name]=='on') { $result=1; } else { $result=0; }
}
return $result;
}


В итоге, вызов получается очень простым:
code:
echo checkbox_verify('checkme');
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Записная книжка PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 

> Темы, похожие на тему "Проверка checkbox на форме"
Темы Форум Информация о теме Обновление
Как прикрутить к форме создания поста счетчик символов?
ExBB Community Ответов: 0
Автор темы: технарь
10 августа 2016 — 06:28
Автор: технарь
Проверка отправки письма на почту кнопкой под сообщением
При включенной опции показывать почту остальным пользователям в профиле
Ошибки и их устранение Ответов: 1
Автор темы: Guyver
30 сентября 2018 — 21:46
Автор: технарь
Сохраняем положение переключателей в форме ответа
ExBB Community Ответов: 5
Автор темы: технарь
21 августа 2013 — 14:27
Автор: технарь
 


Powered by ExBB v1.1.180311