|
|
|
| Пол дня уже убил, пятый год на php разрабатываю, но не могу сейчас понять, почему происходит так, то ли я гоню, то ли хз. Раньше как-то не сталкивался.
Мне нужно отметить checkbox в коде, если он был отмечен мышкой, и если мышкой сняли галку, то в коде убрать отметку, вроде все правильно делаю, но происходит следующее:
При загрузке страицы, он не отмечен (это правильно, т.к. его и не отмечали), затем когда отметили, то он отмечен становится в коде, что и верно. НО когда еще раз я снимаю галку, то тут она уже не убирается, а опять как будто отмечена, и пишет что существует, как такое возможно?
Помогите пожалуйста кто может
$checked = '';
if (isset($_POST['f']['url'])) {
if ($_POST['f']['url'] == 'on') {
$checked = 'checked="checked"';
} else {
$checked = '';
}
} else {
$checked = '';
}
$cont .= '<input type="checkbox" name="f[url]" '.$checked.' /> Сайт';
$checked = '';
if (isset($_POST['f']['date_domen'])) {
if ($_POST['f']['date_domen'] == 'on') {
$checked = 'checked="checked"';
} else {
$checked = '';
}
} else {
$checked = '';
}
$cont .= '<input type="checkbox" name="f[date_domen]" '.$checked.' /> Домен';
|
| |
|
|
|
|
|
|
|
для: smoothjazz
(15.06.2014 в 15:42)
| |
$checked = '';
if(isset($_POST['f'])) $checked = 'checked';
$cont .= '<input type="checkbox" name="f" '.$checked.' /> Сайт';
|
| |
|
|
|
|
|
|
|
для: moonfox
(15.06.2014 в 17:08)
| | Мне нужно чтобы массив был, а в вашем случае не массив.
Вопрос решен. Я неправильно с jquery работал.
Получалось что я блок с checkbox дублировал в контенте, и происодил такой сбой. | |
|
|
|
|
|
|
|
для: smoothjazz
(16.06.2014 в 03:16)
| | Вообще-то в таких операциях удобен тернарный оператор:
<?
$var = '<input type="checkbox" name="name" ' . ($chk ? 'checked' : null) . ' /> Сайт';
|
Что касается массива, то если вы будете проверять так элементы, как это вы делаете, то при большом количестве элементов в массиве, это утомительно и не оправдано. Как это сделать, это в первую очередь зависит от того как вы выводите такую форму, удобно ли при этом выбрано именование элементов и т.д. | |
|
|
|
|
|
|
|
для: smoothjazz
(16.06.2014 в 03:16)
| | интересно
а накой проверять на то, что возвращает в вашем то случае а?
он либо set либо не set и не важно массив или нет | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 13:08)
| | Думайте. | |
|
|
|
|
|
|
|
для: confirm
(16.06.2014 в 13:10)
| | интересно а что еще вернет отмеченный чек без value?
может просветите? | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 13:22)
| | Думайте насчет "без разницы один или массив", и так ли всегда требуется isset. | |
|
|
|
|
|
|
|
для: confirm
(16.06.2014 в 13:28)
| | ...
о точнее выразится вы бы не могли?
оч хочется знать, зачем проверять на set и на value
когда обе части равноправные. | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 13:56)
| | Я не знаю чего он хочет, а вот то, что без разницы один элемент или массив, как вы утверждаете, это далеко не так. | |
|
|
|
|
|
|
|
для: confirm
(16.06.2014 в 14:00)
| |
пардон, поправлюсь, все зависит от того что с полученными данными делать
но это не умаляет того факта, что отмеченный чек всегда содержит value
а в его случае все чеки всегда при отметке имеют значение on
и он при этом проверяет инициализированы ли они и есть ли в них значение, которое собственно никак далее не используется.
когда можно было сделать 1 проверку либо на значение либо на инициализацию. | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 14:16)
| | А причем тут что содержит? Это вторичное.
А то, что он не проверку написал, а глупость, я об этом вроде бы как и не затеваю полемики. Просто вы написали глупость не менее, чем он. | |
|
|
|
|
|
|
|
для: confirm
(16.06.2014 в 14:19)
| | я глупостей не писал
написал ровно в его контекте
у чела нет значений в чеках какая разница массив это будет или не массив
хотя оно конечно всегда массив)
[f]
(
['url'] = on
['date_domen'] = on
)
какая то сомнительная польза | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 14:27)
| | А вы понимаете выгоду массива?
Вот ровно как вы выразились, так он и делает, а то что он по незнанию еще и лишнее проверяет, ну так это не главная проблема его. | |
|
|
|
|
|
|
|
для: confirm
(16.06.2014 в 14:41)
| | возможно его пример не отображает всей картины
но выгода массива тогда когда есть адекватная необходимость | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 14:45)
| | Все формы, это массив элементов, если только форма не содержит один элемент. Так что "адекватность", это что-то невразумительное. | |
|
|
|
|
|
|
|
для: confirm
(16.06.2014 в 14:47)
| | мы походу говорим не об одном и том же или об одном и том же по разному
1 элемент массива тоже тип данных массив
да и выше я писал "хотя оно все массив"
вы тоже говоря о выгоде массивом относительно формы как бы предполагаете что будет и не массив
короче не будем воду толочь.
челу группировка [f] если это все, нафиг не впала, ровно как и проверка такая.
приятного дня сударь.
PS хотя насколько я наблюдая вы предпочитаете чтоб последнее слово было за вами ) | |
|
|
|
|
|
|
|
для: moonfox
(16.06.2014 в 14:55)
| | Ну почему за мной. Вы прочтите его комментарий на ваш ответ. В нем как раз явно рисуется его проблема. Проанализируйте свой ответ ему - получается, что вы не понимаете этой проблемы, и фактически предлагаете ему наступать на те же грабли. Вот я о чем.
А если охота быть последним, да не проблема, можете поставить и точку. | |
|
|
|