it-swarm.com.de

Ausgeblendetes Feld in einem Google-Formular

Ich füge jeder Übermittlung des Formulars eine eindeutige ID hinzu. Im Moment habe ich diese ID zum ersten Feld gemacht und diese mit einem Hilfetext und einem Hilfetext vorgefüllt, der den Benutzer auffordert, dieses Feld nicht zu ändern. Gibt es eine Option, mit der ich dem Benutzer diese Option nicht anzeigen kann?

34
Kira

Ich gehe davon aus, dass Sie nur an Möglichkeiten interessiert sind, programmgesteuert eine eindeutige ID zuzuweisen, bevor der Benutzer Ihr Formular ausfüllt.

Nein, Google Forms unterstützt nach wie vor keine ausgeblendeten Felder wie in HTML Forms. Ihre einzige Option scheint die benutzerdefinierte Form Route zu sein, die Sie bereits kennen.

Hier sind zwei vielversprechende Ideen, die einfach nicht funktionieren ...

  1. Füllen Sie eine gelöschte Frage aus. Wenn Sie eine Frage aus einem Formular löschen, bleibt diese in der Antworttabelle erhalten. Leider unterdrückt Forms die Werte für gelöschte Fragen, die in vorab ausgefüllten URLs angezeigt werden. Andernfalls könnten Sie Ihre eindeutige ID in die übermittelte Vorlage eingeben Weg. (Ich dachte, dies könnte eine clevere Lösung sein, war aber enttäuscht, dass es nicht funktionierte.)

  2. Füllen Sie eine Frage auf einer übersprungenen Seite aus1. Sie können auf einer zweiten Seite eine Frage einrichten, die das Live-Formular überspringt, und Sie können auch eine vorgefüllte URL für diese Frage generieren. So weit, so gut - aber wenn der Benutzer nicht wirklich zu dieser Seite navigiert, wird die im Voraus ausgefüllte Antwort nicht übermittelt.


1Danke an @AdamL, der diese Idee in einer vorherigen Diskussion zu diesem Thema im alten Forum aufgestellt hat.

23
Mogsdad

Sie können dies nicht direkt über Google Forms durchführen, aber Sie können Folgendes umgehen:

  1. Erstellen Sie das Google-Formular, das das ausgeblendete Feld enthält. 
  2. Erstellen Sie eine Google Wep-App ( https://developers.google.com/apps-script/guides/web ).
  3. Fügen Sie den folgenden Code in die Standarddatei Code.gs ein. (Dies öffnet im Wesentlichen eine index.html-Vorlage.) 

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

  4. Erstellen Sie eine neue index.html-Datei mit dem Quellcode Ihres Formulars.

  5. Machen Sie das Eingabefeld verborgen, indem Sie style="display:none" zu seinem umgebenden <div> hinzufügen. 
  6. Fügen Sie beliebige Vorlageninformationen in das Feld <input value=""> mit <?= your_gscript_code() ?> ein. 
  7. Veröffentlichen Sie die Web-App (Publizieren/Bereitstellen der Web-App ...) und fertig. Nun haben Sie einen Link zu einem Formular, in dem das gewünschte Feld ausgeblendet und mit Ihrem verborgenen Wert gefüllt ist.

Mit dieser Lösung können Sie jeden benutzerdefinierten Stil anwenden und sogar andere unnötige HTML-Elemente Entfernen, während das von Google gehostete Formular beibehalten wird.

5
ezsi

Ich glaube, ich habe eine Lösung für Ihr Problem gefunden. Ein Skript auf dem Blatt, in dem Ihre Formulardaten abgelegt werden, kann beim Senden des Formulars ausgelöst werden. Sie können dann einen "Bereich" für jede übergebene Zeile kopieren und inkrementieren.

* edit, Beispielcode wurde angefordert . Damit dieser Code funktioniert, müssen Sie mithilfe des Ressourcenmenüs Ihres Google-App-Skripts "einen Auslöser installieren" und "aus der Kalkulationstabelle" "im Formular absenden" verwenden. Ich habe das, was ich mache, auf den folgenden Ausschnitt verkürzt.

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

Am besten gehen Sie zu den Einstellungen in der oberen rechten Ecke und klicken auf "E-Mail-Adressen sammeln". Dadurch werden diese nicht erfasst, es verfügt jedoch über einen Prüfer, der den Befragten auffordert, eine E-Mail-gefilterte kurze Antwortfrage zu beantworten.

Exp IMG 1

Exp IMG 2

0
Mrs.PizzaGuy