it-swarm.com.ru

Скрытое поле в форме Google

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

34
Kira

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

Нет, Google Forms по-прежнему не имеет прямой поддержки скрытых полей, таких как у вас в HTML Forms. Похоже, единственным вариантом является пользовательский стиль маршрут, о котором вы уже знаете.

Вот две многообещающие идеи, которые просто не работают ...

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

  2. Предварительно заполните вопрос на пропущенной странице1, Вы можете задать вопрос на второй странице, который будет пропущен в интерактивной форме, а также создать предварительно заполненный URL-адрес для этого вопроса. Пока все хорошо, но если пользователь на самом деле не переходит на эту страницу, предварительно заполненный ответ не отправляется.


1Спасибо @AdamL, который высказал эту идею во время предыдущего обсуждения на эту тему на старом форуме.

23
Mogsdad

Вы не можете сделать это напрямую через Google Forms, но можете обойти:

  1. Создайте форму Google, содержащую скрытое поле. 
  2. Создайте приложение Google Wep ( https://developers.google.com/apps-script/guides/web ).
  3. Вставьте следующий код в файл Code.gs по умолчанию. (Это в основном открывает шаблон index.html.) 

    doGet(e) { return HtmlService.createTemplateFromFile('index').evaluate(); }

  4. Создайте новый файл index.html с исходным кодом вашей формы.

  5. Сделайте поле ввода скрытым, добавив style="display:none" к включенному <div> 
  6. Вставьте любую информацию шаблона в поле <input value="">, используя <?= your_gscript_code() ?> 
  7. Опубликуйте веб-приложение (Publish/Deploy web app ...) и все готово. Теперь у вас есть ссылка на форму, в которой искомое поле скрыто и предварительно заполнено скрытым значением.

С помощью этого решения вы можете применить любой собственный стиль и даже избавиться от других ненужных HTML-элементов , Сохраняя форму, размещенную в Google.

5
ezsi

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

* изменить, образец кода был запрошен . Чтобы этот код работал, вам нужно "установить триггер", используя меню ресурсов в вашем скрипте приложения Google, и использовать "из электронной таблицы" "при отправке формы" ..__ Я свел то, что делаю, к следующему фрагменту.

function myFormUpdates(e) {
  var spreadsheet = SpreadsheetApp.getActive()
  //select the sheet you're form is going to post data to
  var sheet = spreadsheet.setActiveSheet(spreadsheet.getSheets()[1])
  //select the last row and a unused column
  var cell = sheet.getRange(sheet.getLastRow(), 3)
  //set data
  cell.setValue('Data')
}
1
Puppetx

Лучшее, что вы можете сделать, - это перейти к настройкам в верхнем правом углу и нажать «Собрать адреса электронной почты», они не будут собраны, но у них есть валидатор и попросит респондента заполнить отфильтрованный по электронной почте короткий ответ на вопрос.

Exp IMG 1

Exp IMG 2

0
Mrs.PizzaGuy