2017-06-05 1 views
2

Ich arbeite daran, ein Google-Formular zu bearbeiten, um Informationen von meinem Team zu verarbeiten. Ich möchte, dass sie Informationen über neue Projekte und bestehende Projekte bereitstellen. Wenn "Bestehende Projekte" ausgewählt ist, wird eine URL angezeigt, über die der Benutzer zu einem anderen Formular weitergeleitet wird. Ich möchte, dass die Bestätigungsseite nur den Link zum nächsten Formular anzeigt, wenn der Benutzer "Bestehende Projekte" ausgewählt hat.Wie verzögern Sie die Bestätigungsseite in Google Forms, bis das Skript ausgeführt wurde?

Ich weiß vorherige Antworten auf dieser Website und von Google-Hilfe, dass Sie die Bestätigungsbenachrichtigung nicht dynamisch ändern können. Ich habe jedoch eine Funktion geschrieben, die die Benutzerantwort übernimmt und die Bestätigungsantwort mit GAS .setConfirmationMessage() ändert. Dies wird jedoch nur mit dem Trigger onSubmit wirksam, und die Bestätigungsseite lädt gerade jetzt zu schnell, um die Informationen aus der aktuellen Antwort zu ändern.

function pageDisplay(){ 
     var form=FormApp.getActiveForm(); 
     var formResponses=form.getResponses(); 
     var lastFormResponse=formResponses.pop(); 
     var itemResponses=lastFormResponse.getItemResponses(); 
     var itemResponse=[]; //initialize array 

    for (var i=0; i<itemResponses.length; i++){ 
     itemResponse[i]=itemResponses[i].getResponse(); 
     } 

    switch (itemResponse[0].toString()){ 
     case "Existing Project": 
      form.setConfirmationMessage("Thank you now please visit URL"); 
      form.setConfirmationMessage(url); 
      break; 

     case "New Project": 
      form.setConfirmationMessage("Thank you for your new information").setShowLinkToRespondAgain(true); 
      break; 

}}

Frage: Wie kann ich das Laden der Bestätigungsseite bis verlangsamen, nachdem das Skript ausgeführt wird? Ist das möglich?

Ich gewöhne mich an GAS, habe aber keine Erfahrung in HTML oder Webseite JS, also seien Sie bitte detailliert, wenn es diese betrifft. Danke für Ihre Hilfe!

+1

Ich glaube nicht, dass dies möglich ist. Die Geschwindigkeit, mit der das Formular übermittelt wird und die Bestätigungsmeldung angezeigt wird, hängt von der Internetgeschwindigkeit und dem Computer des Benutzers ab. Ich kann nicht glauben, dass du etwas tun kannst, um das zu beeinflussen. –

Antwort

0

Google Forms enthält keine integrierte Funktion zum Ändern veröffentlichter Formularverhalten, z. B. durch Verzögern der Anzeige der Bestätigungsseite.

Eine Alternative besteht darin, die Kontrolle der POST-Anfrage an die Google Form-App mithilfe von UrlFetchApp zu übernehmen. Dies könnte jedoch die Bereitstellung einer Lösung als "Produktion" unnötig erschweren. Wenn Sie dennoch auf diese Weise arbeiten möchten, sollten Sie HTMLService verwenden, um ein HTML-Formular mit einer benutzerdefinierten Formularübermittlungsaktion anzuzeigen, die die Formularaktion des veröffentlichten Google-Formulars emuliert.

Verwandte Themen