2014-01-30 1 views
1

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

Когда пользователи, которые получили форму для заполнения, запустите ее, , она должна сначала изменить все тексты и заменить слово kkkk ключевым словом, определенным в соответствии с последним submit.

Если это невозможно, я бы хотел, чтобы форма была отправлена ​​для изменения при следующем открытии. Это возможно.

Я понимаю, что код в onOpen() и onSubmit() не имеет прав на изменение формы. Поэтому я создал свою собственную функцию modifyForm() и добавил триггер для On-Submit. Все еще не работает.

Код DID работает, когда у меня есть триггер, установленный в From-Form On-Open, но только когда я закрыл форму и снова открыл ее для редактирования. - Это поведение документировано. Итак, опять же, я ищу способ, который каждый раз, когда форма запускается, или каждый раз, когда форма отправляется, она динамически модифицируется.

function onModify(){ 
    var form = FormApp.getActiveForm(); 

    var imgURL = "http://whatever.com/someimg.jpg"; 
    var img = UrlFetchApp.fetch(imgURL); 
    // i first check that there is an image item in the current form and then 
    var imgItem = form.getItems(FormApp.ItemType.IMAGE)[0]; 
    imgItem.setImage(img); 

    var keyword = "aaaa"; //getKeyword(); // some text returning function 
    var items = form.getItems(); 
    for (i=0; i<items.length; i++){ 
     var title = items[i].getTitle(); 
     title = title.replace("kkkk", keyword); 
     items[i].setTitle(title); 
    } 

    return form; 
} 

Спасибо за любую помощь, которую вы можете дать!

ответ

0

Невозможно использовать только формы Google.

Итак, я решил создать четыре сохраненных копии формы, заменяющих ключевое слово «kkkk» заранее, все они идут в одну и ту же таблицу, но на разные листы, а на отдельном веб-сайте я решаю в python, какая копия формы представлять пользователю путем перенаправления.

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