Передача значения ввода Gravity Forms (PHP и AJAX) в Google Chart (JS)

Итак, вот головоломка. У меня есть форма Gravity (с использованием AJAX), в которой есть несколько переключателей с разными значениями, назначенными им. Когда пользователь выбирает один из 5 вариантов кнопки для вопроса, этому ответу присваивается значение от 2 до 5.

Я хочу передать эти данные в круговую диаграмму Google, и у меня есть несколько ответов, заполняющих эту диаграмму. У меня есть две части головоломки, все, что мне нужно сделать, это получить эту информацию из формы в мой файл JS в качестве переменной.

Прежде чем вы сможете сказать «репост», позвольте мне объяснить мой метод: я уже просмотрел множество сообщений здесь о передаче переменных PHP в JS. Вот моя установка:

В моем файле functions.php я объявляю набор из 7 переменных, которые соответствуют моим 7 вопросам. Давайте упростим это и используем только один для примера:

$scoreOne;

Затем ниже (в функции) я вызываю эту переменную глобально и присваиваю ей значение ввода формы.

$GLOBALS['scoreOne'] = rgpost('input_18');

Ниже (и вне предыдущей функции) я закрываю свои php-теги и кодирую переменную в JSON следующим образом:

<script>
    var scoreOneJson = <?php echo json_encode("$scoreOne", JSON_HEX_TAG); ?>;
</script>

Перейдем к моему файлу .js: я использую визуализацию круговой диаграммы Google (https://developers.google.com/chart/interactive/docs/gallery/piechart)

Сама диаграмма работает нормально, если я использую прямые числа в качестве переменных. Однако мы хотим вызвать эту переменную, которую мы только что закодировали:

var data = google.visualization.arrayToDataTable([
['Category', 'Score'],
['Score One', scoreOneJson],
['Score Two', 2],
['Score Three', 3],
]);

Но это, кажется, не работает. Что мне не хватает?


person user1709061    schedule 10.01.2017    source источник


Ответы (1)


В качестве альтернативы вы можете использовать следующий подключаемый модуль https://wordpress.org/plugins/gf-charts-reports/ вместо Google Charts, чтобы выводить графики chartsjs из данных гравитационных форм.

person Max    schedule 08.02.2017