next up previous contents index
Search Next: Datenbankanbindung Up: IOWA: Interpreted Objects for Previous: Links, Listen und Iteratoren   Contents   Index

Formulare mit IOWA

Im HTML-Teil von Formularen werden wieder oid-Attribute verwendet, um den Code für die Auswertung des Formulars anzugeben und die einzelnen Komponenten zu identifizieren.

<form oid="eintragen">
Anmerkung: <input type="text" oid="notiz">
<input type="submit" value="Anfügen">
</form>

IOWA bindet das notiz-Feld an das notiz-Attribut der Komponente. Es zeigt den zum Zeitpunkt des Ladens aktuellen Wert an, andererseits werden die Eingaben beim Abschicken des Formulars wieder an das Attribut übergeben. Der angepasste Code sieht folgendermaßen aus:

<%
class Main < Iowa::Component
  attr_reader :zeiten
  attr_accessor :eintrag
  attr_accessor :notiz
  def awake
    @zeiten = []
  end
  def time
    Time.now
  end
  def eintragen
    @zeiten << {
      "zeit" => time,
      "notiz" => @notiz
    }
  end
end
%>

<?
liste {
  list = zeiten
  item = eintrag
}
?>

<html>
<head><title>Hallo</title></head>
<body>
<h1>Hallo Welt!</h1>
<p>Es ist jetzt <b>@time</b>.</p>
<form oid="eintragen">
<p>Anmerkung: <input type="text" oid="notiz">
<input type="submit" value="Anfügen"></p>
</form>
<p>Die Seite wurde gezeigt um:</p>
<ul oid="liste">
<li>@eintrag.zeit: @eintrag.notiz</li>
</ul>
</body>
</html>

Mehr Informationen zu IOWA gibt es auf Avi Bryants Webseite [IOWA].



(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20