Скрытое поле в форме Google
Я добавляю уникальный идентификатор к каждой отправке формы. Прямо сейчас я сделал этот идентификатор первым полем и предварительно заполнил его идентификатором вместе с текстом справки, попросив пользователя не изменять это поле. Есть ли какой-либо вариант, с помощью которого я не могу показать эту опцию пользователю?
3 ответов
Я предполагаю, что вас интересуют только способы программного назначения уникального идентификатора до того, как пользователь заполнит вашу форму.
нет, Google Forms по-прежнему не имеет прямой поддержки скрытых полей, таких как в HTML-формах. Ваш единственный вариант -пользовательский стиль маршрут, о котором вы уже знаете.
вот две многообещающие идеи, которые просто не работают...
предварительно заполните удаленный вопрос. если вы удаляете вопрос из формы, он остается в листе ответов - к сожалению, формы подавляют значения для удаленных вопросов, которые представлены в предварительно заполненных URL-адресах, иначе вы сможете обмануть свой уникальный идентификатор в отправке таким образом. (Я подумал, что это может быть умная работа, но был разочарован, что она не сработала.)
предварительно заполните вопрос на пропущенной странице1. вы можете задать вопрос на второй странице что живая форма пропустит, и вы также можете создать предварительно заполненный URL-адрес для этого вопроса. Пока все хорошо , но если пользователь фактически не переходит на эту страницу, предварительно заполненный ответ не отправляется.
1спасибо @AdamL, который положил эту идею во время предыдущие обсуждения на эту тему в старом форуме.
вы не можете сделать это напрямую с помощью Google Forms, но вы можете обойти:
- создайте форму google, содержащую скрытое поле.
- создать приложение Google Wep (https://developers.google.com/apps-script/guides/web)
-
вставьте следующий код в код по умолчанию.файл gs. (Это в основном открывает индекс.HTML-шаблон.)
doGet(e) { return HtmlService.createTemplateFromFile('index').evaluate(); }
создать новый индекс.HTML-файл с исходный код вашей формы.
- сделайте поле ввода скрытым, добавив
style="display:none"
к его внешней<div>
- вставьте любую информацию шаблона в
<input value="">
поле с помощью<?= your_gscript_code() ?>
- опубликовать веб-приложение (публикация / развертывание веб-приложения... и ты закончил. Теперь у вас есть ссылка на форму, в которой есть желаемое поле, скрытое и предварительно заполненное вашим скрытым значением.
С этим решением вы можете применить любой пользовательский стиль и даже избавиться от другие ненужные html-элементы при сохранении формы, размещенной в Google.
Я думаю, что нашел решение вашей проблемы. Сценарий на листе, который будут использоваться данные формы, может быть запущен при отправке формы. Затем вы можете скопировать и увеличить "диапазон" для каждой отправленной строки.
* edit, образец кода был запрошен. Для того, чтобы этот код работал, вам нужно "установить триггер", используя меню" ресурсы "в скрипте приложения 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')
}