Mittwoch, 5. Januar 2011

Interaktion Teil 2 - Eingabe-Box

Nachdem es im ersten Teil zum Thema Interaktion mit dem Benutzer um die Message-Box ging, soll nun im zweiten Teil dieses Thema um die Eingabe-Box erweitert werden. Über die Message-Box kann man den Benutzer zwar eine einfache Frage stellen, auf die er allerdings nur sehr begrenzt (zum Beispiel mit "Ja" oder "Nein") antworten kann. Möchte man aber den Namen erfragen, muss man sich ein anderes Hilfsmittel suchen: Die Eingabe-Box. Diese hat zusätzlich zu den bekannten Elementen der Message-Box noch ein einzeiliges Eingabefeld. Eine solche Eingabe-Box wird in Google Apps Script mit der Methode inputBox() der Browser-Klasse erzeugt.

function myInputBox({
  var name Browser.inputBox(
    "Bitte geben Sie Ihren Namen ein:"
  );
}

Wird diese Funktion ausgeführt, dann sieht der Benutzer diese Eingabe-Box mit einem Titel, einem Schließen-Button in der rechten oberen Ecke, die Frage und einem OK-Button:



Über einen zweiten Parameter kann man zusätzlich noch definieren, welche Buttons in der Box angezeigt werden. Das folgende Beispiel zeigt, wie man einen OK- und einen Abbrechen-Button in die Box setzt:

function myInputBox({
  var name Browser.inputBox(
    "Bitte geben Sie Ihren Namen ein:",
    Browser.Buttons.OK_CANCEL
  );
}

Wird diese Funktion ausgeführt, dann sieht der Benutzer diese Eingabe-Box mit einem Titel, einem Schließen-Button in der rechten oberen Ecke, die Frage, einem OK- sowie einen Abbrechen-Button:



Alle möglichen Kombinationen der Buttons findet man übrigens hier.

Wie man in den bisherigen Beispielen gesehen hat, wird das Ergebnis (oder auch Rückgabewert) der Methode inputBox() in der Variable name gespeichert. Bei der Weiterverarbeitung dieses Wertes gilt es nun zu unterscheiden, ob der Benutzer wirklich einen Namen eingegeben hat, oder auf den Abbrechen-Button geklickt hat. Im folgenden Beispiel wird eine Message-Box angezeigt, wenn der Benutzer einen Namen eingegeben hat und auf den OK-Button geklickt hat. Andernfalls wird nichts gemacht.

function myInputBox({
  var name Browser.inputBox(
    "Bitte geben Sie Ihren Namen ein:",
    Browser.Buttons.OK_CANCEL
  );

  if (name != "cancel" && name != ""{
    Browser.msgBox("Hallo " String(name".");  
  }
}

  

Die Eingabe-Box bietet, wie auch die Message-Box, die Möglichkeit, den Titel der Box selbst zu definieren. Dies geschieht über einen weiteren Parameter der Methode inputBox(). Hierbei ist unbedingt zu beachten, dass man beim Setzen des Titels alle drei Parameter (Titel, Text, Buttons) angeben muss.

function myInputBox({
  var name Browser.inputBox(
    "Frage",
    "Bitte geben Sie Ihren Namen ein:",
    Browser.Buttons.OK_CANCEL
  );

  if (name != "cancel" && name != ""{
    Browser.msgBox("Hallo " String(name".");  
  }
}

Wird diese Funktion ausgeführt, dann sieht der Benutzer diese Eingabe-Box mit dem selbst definierten Titel, einem Schließen-Button in der rechten oberen Ecke, der Frage, einem OK- sowie einen Abbrechen-Button:



So, das zum Thema "Eingabe-Box". Demnächst mehr...

1 Kommentar: