Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Checkbox отправляет значение не нажатым.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Помогите пожалуйста решить эту задачу.
lwmisanea
Отправлено: 19 Февраля, 2015 - 14:43:06
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Здравствуйте! Есть код:

PHP:
скопировать код в буфер обмена
  1. <input type="checkbox" name="price" id="price" value="1"/>


но даже если checkbox не нажат в БД отправляется значение 1. Мне нужно чтобы значение отправлялось только когда нажат checkbox. Помогите пожалуйста решить эту задачу. Спасибо.

(Отредактировано автором: 19 Февраля, 2015 - 15:01:12)

 
 Top
caballero
Отправлено: 19 Февраля, 2015 - 15:00:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




если чекбокс не установлен никакое значение не отправлятся вообще
чекбокса просто нет в реквесте


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
skiphog
Отправлено: 19 Февраля, 2015 - 15:01:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




...

(Отредактировано автором: 19 Февраля, 2015 - 15:02:20)

 
My status
 Top
lwmisanea
Отправлено: 19 Февраля, 2015 - 15:04:01
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




caballero пишет:
если чекбокс не установлен никакое значение не отправлятся вообще
чекбокса просто нет в реквесте


Раньше так и происходило но сейчас как будто игнорируется состояние чекбокса
(Добавление)
Я пробовал этот вариант
PHP:
скопировать код в буфер обмена
  1. <input type="hidden" name="price" id="price" value="0" />
  2. <input type="checkbox"  name="price" id="price" value="1" />
но даже если нажат чекбокс до второго input не доходит и ничего не отправляет
 
 Top
GoDr
Отправлено: 19 Февраля, 2015 - 15:19:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




lwmisanea, значит что-то делаешь не так.. Если значение не выбрано. то ничего не отправляется.

Покажи всю форму и результат $_REQUEST
(Добавление)
lwmisanea пишет:
Я пробовал этот вариант
этот вариант делается именно для того чтобы всегда было значение. Значит ты где-то оставил поле
CODE (html):
скопировать код в буфер обмена
  1. <input type="hidden" name="price" id="price" value="0" />

(Отредактировано автором: 19 Февраля, 2015 - 15:19:20)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
lwmisanea
Отправлено: 19 Февраля, 2015 - 15:47:50
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




GoDr пишет:
lwmisanea, значит что-то делаешь не так.. Если значение не выбрано. то ничего не отправляется.

Покажи всю форму и результат $_REQUEST
(Добавление)
lwmisanea пишет:
Я пробовал этот вариант
этот вариант делается именно для того чтобы всегда было значение. Значит ты где-то оставил поле
CODE (html):
скопировать код в буфер обмена
  1. <input type="hidden" name="price" id="price" value="0" />


PHP:
скопировать код в буфер обмена
  1.                 <form id="post-postdata-form">
  2.                                                         <?PHP if (of_get_option('form_title_desc') != 'separate') { ?>
  3.                                                         <textarea id="post-title" placeholder="<?PHP _e('Опишите свой пост...'); ?>"><?PHP echo $title; ?></textarea>
  4.                                                         <?PHP } else { ?>
  5.                                                         <textarea id="post-title" placeholder="<?PHP _e('Название...'); ?>"><?PHP echo $title; ?></textarea>
  6.                                                         <textarea id="post-content" placeholder="<?PHP _e('Описание...'); ?>"></textarea>
  7.                                                         <?PHP } ?>
  8.  
  9.                                                         <?PHP if (of_get_option('htmltags') == 'enable') { ?>
  10.                                                                 <div class="description_instructions">
  11.                                                                         <?PHP _e('Allowed HTML tags:'); ?> <strong> <em> <a> <blockquote>
  12.                                                                 </div>
  13.                                                         <?PHP } ?>
  14.                                                        
  15.                                                         <?PHP if (of_get_option('posttags') == 'enable') { ?>
  16.                                                                 <div class="input-prepend">
  17.                                                                         <span class="add-on pull-left"><i class="fa fa-tags"> </i></span>
  18.                                                                         <input type="text" name="tags" id="tags" value="" placeholder="<?PHP _e('Метки должны быть разделены запятой.'); ?>" />
  19.                                                                 </div>
  20.                                                         <?PHP } ?>
  21.                                                        
  22.                                                         <?PHP if (of_get_option('price_currency') != '') { ?>
  23.                                                                 <?PHP if (of_get_option('price_currency_position') == 'right') { ?>
  24.                                                                 <div class="input-append">
  25.                                                                         <input class="pull-left" type="text" name="price" id="price" value="" placeholder="<?PHP _e('Price e.g. 23.45'); ?>" />
  26.                                                                         <span class="add-on"><?PHP echo of_get_option('price_currency'); ?></span>
  27.                                                                 </div>
  28.                                                                 <?PHP } else { ?>
  29.                                                                 <div class="input-prepend">
  30.                                                                         <span class="add-on pull-left"><?PHP echo of_get_option('price_currency'); ?></span>
  31.                                                                         <input  type="text" name="price" id="price" value="" placeholder="<?PHP _e('Price e.g. 23.45'); ?>" />
  32.                                                                 </div>
  33.                                                                 <?PHP } ?>
  34.                                                         <?PHP } ?>
  35.                                                        
  36.                                                         <div class="input-prepend<?PHP if (of_get_option('source_input') != 'enable') echo ' hide'; ?>">
  37.                                                                 <span class="add-on pull-left"><i class="fa fa-link"> </i></span>
  38.                                                                 <input type="text" name="photo_data_source" id="photo_data_source" value="<?PHP echo $source; ?>" placeholder="<?PHP _e('Источник, например: http://domain.com/link'); ?>" />
  39.                                                         </div>
  40.                                                        
  41.                                                         <?PHP echo post_dropdown_boards(); ?>
  42.                                                        
  43.                                                         <input type="text" class="board-add-new" id="board-add-new" placeholder="<?PHP _e('Введите название для новой доски'); ?>" />
  44.                                                         <?PHP echo post_dropdown_categories(__('Выберите категорию для новой доски'), 'board-add-new-category'); ?>
  45.                                                         <a id="post-postdata-add-new-board" class="btn btn-mini pull-right"><?PHP _e('Добавить новую доску...'); ?></a>
  46.                                                         <input type="hidden" value="<?PHP echo $attach_id; ?>" name="attachment-id" id="attachment-id" />
  47.                                                         <div class="clearfix"></div>
  48.                                                         <input <?PHP if ($noboard == 'yes' || $title == '') { echo ' disabled="disabled"'; } ?> class="btn btn-primary btn-large" type="submit" name="post" id="pinit" value="<?PHP _e('Добавить'); ?>" />
  49.                                                         <div class="ajax-loader-add-post ajax-loader hide"></div>
  50.                                                 </form>


В этом месте
PHP:
скопировать код в буфер обмена
  1. <input  type="text" name="price" id="price" value="" placeholder="<?PHP _e('Price e.g. 23.45'); ?>" />
я поменял на
PHP:
скопировать код в буфер обмена
  1. <input  type="checkbox" name="price" id="price" value="1" />
но не учитавается состояние checkbox. То есть всегда отправляется значение из value а мне нужно чтоб отправлялась только когда он нажат.
 
 Top
GoDr
Отправлено: 19 Февраля, 2015 - 16:10:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




lwmisanea, ёпрст... а показать код из HTML не судьба??? Зачем нам эта каша из PHP/HTML.....

В общем удалил лишнее как смог.. у меня всё нормально и адекватно работает.


PS
странная задача.. обычно стремятся получать результат всегда, так проверять и обрабатывать легче...
(Добавление)
.
что-то не у всех полей есть name.. Обрабатывать форму то как собираешься?


-----
Система управления веб-содержимым Lotos CMS
 
 Top
lwmisanea
Отправлено: 19 Февраля, 2015 - 17:59:49
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




всё решилось с помощью JQ
PHP:
скопировать код в буфер обмена
  1. <input type="checkbox" value="1" id="price" name="price" checked="checked" />
  2. <script>
  3.  
  4. $('#price').on('change', function(){
  5.    this.value = this.checked ? 1 : 0;
  6.    // alert(this.value);
  7. }).change();
  8.  
  9. </script>
 
 Top
likvidator
Отправлено: 19 Февраля, 2015 - 20:59:59
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]



lwmisanea пишет:
всё решилось с помощью JQ

костыли форевер
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB