Nano Hash - криптовалюты, майнинг, программирование

Создание формы с помощью скрипта: Разрыв страницы и переход к проблеме страницы

Прежде чем я задам свой вопрос, я хочу отметить, что я француз, поэтому у меня может быть плохой английский. Если моя проблема не понята, я постараюсь объяснить ее лучше.

В настоящее время я работаю над скриптом Google для создания формы. В этой форме я хочу задать респонденту несколько вопросов с несколькими вариантами ответов. Чтобы получить хорошие и конкретные результаты, я хочу адаптировать вопросы, которые я задаю, к профилю респондента.

Чтобы было понятно, вот форма моей формы: я начинаю с того, что задаю респонденту первый вопрос с 5 возможными ответами. При ответе респондент должен быть перенаправлен на новую страницу. На этой новой странице есть новый вопрос с несколькими вариантами ответов с двумя возможными ответами. Опять же, после ответа респондент должен быть перенаправлен на новую страницу и так далее... В конце, когда я получаю все необходимые подробности, я задаю респонденту точные вопросы. Последняя страница — это страница, содержащая множество вопросов с несколькими вариантами ответов, на которые должны будут ответить все респонденты, независимо от их профиля.

Я попытался написать это в скрипте Google следующим образом:

var page1 = form.addPageBreakItem()
    .setTitle('First page');
var item = form.addMultipleChoiceItem();
 item.setTitle('Question')
     .setChoices([
         item.createChoice('Yes',page2),
         item.createChoice('No',page3)
       ]);
var page2 = form.addPageBreakItem()
    .setTitle('Second page');
var page3 = form.addPageBreakItem()
    .setTitle('Third page');

Но так как page2 и page3 определены после page1, скрипт не понимает этого и не может перейти на page3 или page2 по ответу. Сначала я попытался определить всю свою страницу, но потом не знаю, как добавить свой вопрос с несколькими ответами на конкретную страницу.

Кто-нибудь может дать мне подсказку? В любом случае спасибо за прочтение, и не стесняйтесь просить дополнительных объяснений, если что-то непонятно.


Ответы:


1

Вам нужно только изменить порядок ваших операций; вам не нужно держать операции на item вместе. Вот пример, используя ваш код:

function createForm() {
  var title = 'Multipage Form Test';
  var description = 'Stackoverflow question 17083500';

  var form = FormApp.create(title)
      .setDescription(description)
      .setConfirmationMessage('Thanks for responding!');

  var page1 = form.addPageBreakItem()
      .setTitle('First page');
  var item = form.addMultipleChoiceItem();
  var page2 = form.addPageBreakItem()
      .setTitle('Second page');
  var page3 = form.addPageBreakItem()
      .setTitle('Third page');

  item.setTitle('Question')
      .setChoices([
         item.createChoice('Yes',page2),
         item.createChoice('No',page3)
       ]);

  Logger.log(form.getEditUrl());
  Logger.log(form.getPublishedUrl());
}

Скопируйте «редактировать URL» из журналов и проверьте — вы обнаружите, что форма ведет себя так, как вы ищете:

введите здесь описание изображения

13.06.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..