Pregunta Campo oculto en un formulario de Google


Estoy agregando un ID único a cada envío del formulario. En este momento, convertí ese ID en el primer campo y lo rellené con la ID, junto con un texto de ayuda solicitando al usuario que no modifique este campo. ¿Hay alguna opción por la cual no puedo mostrar esta opción al usuario?


32
2017-12-03 04:05


origen


Respuestas:


Supongo que solo está interesado en formas de asignar programáticamente una ID única antes de que el usuario complete su formulario.

No, Google Forms todavía no tiene soporte directo para los campos ocultos como los que tiene en Formularios HTML. Su única opción parece ser la estilo personalizado ruta, que ya conoces

Aquí hay dos ideas prometedoras que simplemente no funcionan ...

  1. Completa una pregunta eliminada. Si borra una pregunta de un formulario, permanece en la hoja de cálculo de respuestas: desafortunadamente Forms suprime los valores de las preguntas eliminadas que se presentan en las URL precargadas; de lo contrario, podría engañar su identificación única en el envío de esa manera. (Pensé que esto podría ser una solución inteligente, pero me decepcionó que no funcionara).

  2. Completa una pregunta en una página omitida1. Puede configurar una pregunta en una segunda página que salteará el formulario en vivo, y también puede generar una URL precompletada para esa pregunta. Hasta ahora, todo bien, pero si el usuario no navega a esa página, la respuesta precargada no se envía.


1Gracias a @AdamL, quien postuló esta idea durante un discusión previa sobre este tema en el viejo foro.


20
2017-12-03 15:35



Usted no puede hacer esto directamente con Google Formularios, pero puede evitarlo:

  1. Crea el formulario de google que contiene el campo oculto.
  2. Crea una aplicación Google Wep (https://developers.google.com/apps-script/guides/web)
  3. Inserte el siguiente código en el archivo Code.gs predeterminado. (Esto básicamente abre una plantilla index.html)

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

  4. Cree un nuevo archivo index.html con el código fuente de su formulario.

  5. Haga que el campo de entrada quede oculto al agregar style="display:none" a su encierro <div> 
  6. Inserta cualquier información de plantilla en el <input value=""> campo usando <?= your_gscript_code() ?> 
  7. Publique la aplicación web (Publicar / Implementar aplicación web ...) y listo. Ahora tiene un enlace a un formulario que tiene el campo deseado oculto y precargado con su valor oculto.

Con esta solución puede aplicar cualquier estilo personalizado e incluso deshacerse de otros elementos html innecesarios manteniendo el formulario alojado por Google.


5
2018-05-14 07:48



Creo que encontré una solución a tu problema. Una secuencia de comandos en la hoja a la que van sus datos de formulario se puede activar en el envío de formulario. A continuación, puede copiar e incrementar un "rango" para cada fila enviada.

* editar, se solicitó el código de muestra. Para que este código funcione, debe "instalar un desencadenador" utilizando el menú de recursos en su secuencia de comandos de la aplicación de Google, y usar "desde la hoja de cálculo" "al enviar el formulario". He hervido lo que estoy haciendo hasta el siguiente fragmento.

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
2017-10-25 07:38