2015-02-15 2 views
1

Только что начал использовать службу форм в скрипте Google Apps. Необходимо направить форму, чтобы пользователь мог перейти на определенную страницу в зависимости от ответа. Вот мой текущий кодКак назначить Go_To_Page в службе формы по множественному выбору?

form.addMultipleChoiceItem() 
    .setTitle('What would you like to do?') 
    .setRequired(true) 
    .setChoiceValues(['Request a new reservation.','Change the date or number of tickets for an existing reservation.']) 

Теперь, я нашел этот раздел в документации: Enum PageNavicationType

Но они не являются примером использования Go_To_Page. Также создание ChoiceValues ​​мне неудобно.

Кто-нибудь там работал?

ответ

0

Вместо .setChoiceValues, которые вы хотите использовать .setChoices ([arrayOfChoices]), и используйте .createChoice (значение, страница), чтобы создать выбор.

Edit: Обновлен код для исправления ошибок

function createAMCQuestion(){ 
    var af = FormApp.getActiveForm(); 
    var pRed = af.getItemById("1300443051").asPageBreakItem(); //use findPageIds to get the page id of a pre-created page 
    var pGreen = af.getItemById("902629766").asPageBreakItem(); 

    var item = af.addMultipleChoiceItem().setTitle('Pic a color?'); // creates the Multiple Choice Question 
    af.moveItem(item.getIndex(), 1); // Makes the question show up as the second question in the form (starts at 0) 

    //create choices as an array 
    var choices = []; 
    choices.push(item.createChoice('Red', pRed)); 
    choices.push(item.createChoice('Green', pGreen)); 

    // assignes the choices for the question 
    item.setChoices(choices); 
} 

function findPageIds(){ 
    var af = FormApp.getActiveForm(); 
    var pages = af.getItems(FormApp.ItemType.PAGE_BREAK); 

    for (i in pages){ 
    var pName = pages[i].getTitle(); 
    var pId = pages[i].getId(); 
    Logger.log(pName+":"+pId); 
    } 
} 
+0

Благодарности, Bjorn, но я бегу на вопрос. Ошибка «Невозможно преобразовать массив в выбор» со ссылкой на: item.setChoices (choice) ;. Также что такое getItemById? У форм автоматически присваиваются идентификаторы страниц по умолчанию? – MartinK

+0

Извините, что я получаю от ввода кода из памяти и не тестировался на производстве. Я обновил код. –

Смежные вопросы