Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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

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

Exp IMG 1

Exp IMG 2

Ответ 5

О форме ответа ezsi... на первый взгляд кажется привлекательным решением... но оно не работает, потому что приложения Google не поддерживают CORS. Сделайте очень простую форму Google только с одним вопросом и попробуйте... нет ответа от html-элементов, и кнопка отправки заморожена !!!