Ich habe ein Google Form mit einem Textfeld innen.GAS Feld vor Beitrag auswerten Google Formular
Ich möchte den Inhalt, der vom Endbenutzer eingegeben wurde, vor der Post bewerten, aber nach ein paar Tagen der Suche konnte ich es nicht tun.
In der code.gs
kann ich auf das Textfeld zugreifen und die Eigenschaften davon abrufen. Wenn Sie die sdi.html
sehen, löst dies den Aufruf der Funktion doEval()
aus.
Mein Problem ist, dass ich nicht weiß, wie Sie einen Handler im Google Formular selbst hinzufügen, damit ich überprüfen kann, ob der Inhalt des Textfelds für meine App akzeptabel ist. Zum Beispiel: validiere es, wenn es sich um eine Zahl handelt, und wenn dies zutrifft, dann sende das Formular ab, andernfalls beende den Sendeprozess und zeige eine Fehlermeldung an.
Auf alten Google Formulare gab es Möglichkeiten, Handler zu erstellen, aber jetzt funktioniert alles unter HtmlService
Ansatz, und ich sehe keine Beispiele dafür, wie es geht.
Hier ist mein Code:
code.gs
:
function doGet()
{
return HtmlService.createHtmlOutputFromFile('sdi')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function doEval()
{
var frm = FormApp.getActiveForm();
var items = frm.getItems();
var text= items[1].asTextItem();
text.setTitle("I can access the field from here!");
}
sdi.html
:
<!DOCTYPE html>
<html>
<head>
<script>
function onSuccess(isOk)
{
}
google.script.run.withSuccessHandler(onSuccess)
.doEval();
</script>
</head>
<body>
</body>
</html>
Gibt es eine Schaltfläche in der Form, die sie einreichen? Sie können 'typeof' verwenden, um den Datentyp des Werts zu testen. Im Moment befindet sich 'google.script.run.' nicht in einer Funktion. Wenn Sie es in eine Funktion einfügen, können Sie entweder 'google.script.run' ausführen oder nicht. –
Was Sie zeigen, ist kein Google-Formular. es ist eine Webapp. –
Hi, ja du hast Recht, ich habe anfangs falsch gearbeitet, es ist Form, aber ich zeige es nie. Bitte überprüfen Sie die Antwort, die ich gerade zu Spencer Easton gemacht habe, wo ich besser erkläre. Prost. –