Ich arbeite an dem Versuch, einige Fehlermeldungen zu machen, falls jemand keinen Wert eingibt. In dem Fall überprüfe ich, ob der Wert leer ist, und überprüfe schließlich, ob es ein Datum ist.Variable von Google-Skript an HTML-Dialog übergeben
Also wenn hier ist der heruntergekommen.
1) Führen der if-Anweisung, wenn der Wert wahr ist, mit dem String-Argumente
if (sheetData[4] === ""){
errorPrompt("Title");
}
2) Ausführen die folgende Funktion der Fehleraufforderung mit dem String-Argumente ausgeführt. Ich möchte dann, dass die Funktion das Argument an den HTML-Iframe weitergibt.
function to open dialog
function errorPrompt(missvar) {
var missVar = "test";
var html = HtmlService.createHtmlOutputFromFile('missingvar')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showModalDialog(html, missVar + ' is Missing please provide ' + missVar + " and try again.");
}
3) Die Variable sollte dann an die HTML-Datei übergeben werden, die als modaler Dialog angezeigt wird. Wenn die Zeichenfolge gleich "Titel" ist, sollte der Dialog wie folgt lauten: "Der Titel fehlt. Geben Sie Titel ein und versuchen Sie es erneut."
missingvar.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
UI.getElementById("missVar").innerHTML;
</script>
The <var id=missVar></var> is missing. Please enter <var id=missVar></var> and try again.
<input type="button" value="Close"
onclick="google.script.host.close()" />
</body>
</html>
Die HTML oben zeigt jedoch die missVar nicht zeigen. Hat jemand irgendwelche Gedanken? Nur zu beachten, die Titelleiste des Dialogfelds zeigt die Variable korrekt an, aber das ist außerhalb des HTML.
Dies ist effektiv das gleiche wie die Templating-Lösung, die ich in meiner Antwort beschrieben. Schauen Sie es sich an, da es Ihnen in Zukunft eine größere Flexibilität/Erweiterbarkeit ermöglicht. – Jonathon