Prevent HTML Page Refresh
n dieser Phase bin ich meistens daran gewöhnt, Javascript und serverseitiges Java zu unterstützen, sodass mein HTML nicht so geschickt ist, wie es sein mus
Ich habe mehrere Anwendungen erstellt, für die Benutzereingaben mit dem Apps-Skript erforderlich sind, aber ich habe das jetzt veraltete @ verwendeUI service, da ich kein Designer bin und dies eine einfache Möglichkeit zum Entwerfen einfacher Seiten zum Hin- und Herschalten von Daten bot. Da der UI-Dienst seit einiger Zeit veraltet ist, stelle ich die mühsame Aufgabe der Migration dieser Dienste zum HTML-Dienst fest und stelle einen Unterschied im Verhalten fest.
Wenn Sie zum Beispiel ein Formular senden, wird die gesamte Seite auf eine leere Seite aktualisiert, und das kann ich anscheinend nicht verhindern. Der UI-Dienst würde für die erneute Eingabe von Informationen statisch bleiben, und ich kann keine Arbeitsmethode finden, mit der der HTML-Dienst die Aktualisierung beenden oder das Formular neu laden kann.
Einfacher Code, um mein Problem zu reproduzieren:
function doGet() {
return HtmlService.createHtmlOutputFromFile('test')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function logValues(value){
Logger.log('Something worked....');
}
Mit der Indexdatei als:
<form>
<input type="submit" value="Book Meeting" onclick="google.script.run
.logValues()">
</form>
Einige Dinge, die ich ausprobiert habe:
1) Hinzufügen eines Rückrufs zur 'doGet'-Funktion, um zu versuchen, die Seite erneut zu laden. 2) Hinzufügen einer völlig neuen Funktion, um eine NEUE HTML-Seite aufzurufen.
Das Problem hier ist mein schlechtes Verständnis des HTML-Dienstes, aber gibt es eine einfache Möglichkeit, das Formular für die erneute Übermittlung zu löschen oder die Seite alternativ einfach neu zu laden? Keine der anderen Fragen, die ich bei SO gefunden habe, beantwortet diese Frage auf eine Art und Weise, die ich verstehen kann.