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