Проблемы с передачей checkbox через ajax

Тема в разделе "JavaScript", создана пользователем danneo, 6 янв 2017.

Модераторы: ZiX
  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.435
    Симпатии:
    110
    Выбрал несколько чекбоксов, нажал отправить. JS собираем массив данных всех отметок и отправляет. На php обрабатывается.
    Замечена проблема следующего вида...
    Все чекбоксы имеют название name[], т.е. чтобы при отправке без js это был массив.
    JS собирается следующего вида: {"f_103":"no","f_447[]":["asdf","aw2"]}
    На php приходит уже объект (класс), стучусь так: $object->f_103
    Но вот достучаться до "f_447[]" не получается.

    Проблемы только с checkbox'ами. Как это можно победить?

    Данные из формы нужно сформировать в массив и передать в php (примерно следующего вида:(
    $fields = array(
    [name_field] => array('name'=>'values', 'name2'=>'value2'),
    [name_field_2] => 'value1'
    )
    и т.п.
     
  2. xapai1988

    xapai1988 Создатель

    Регистр.:
    12 дек 2009
    Сообщения:
    18
    Симпатии:
    6
    Попробуйте посмотреть что из себя вообще представляет $object с помощью дебаггера или var_dump. Скорее всего вы пытаетесь открыть массив целиком, а вас интересует только отдельный элемент.

    Можете попробовать так:

    $object->f_447[0] или пройтись циклом for по f_447 (не помню уже как это в php делается)
     
  3. Tuzemec

    Tuzemec Создатель

    Регистр.:
    20 июл 2012
    Сообщения:
    28
    Симпатии:
    6
    Так выстекли сначало какой тип данных тебе передает f_447. Может это не массив, а объект? Или может к нему так обратиться: $object->f_447['value'] или $object->f_447->value

    В любом случае лучше выложить полный листинг, чтоб получить полный ответ:rockin: