Kahua5 form(GET)の作成

KahuaのDB関係を色々触っていたら、前回から1ヶ月ほど間が開きましたが続きを書いていきます。


前回は自動生成される、ソースコードの解説を行いました。
今回はformを作成したいと思います。

GET編

簡単なコードで解説します。

(define-entry (form-test :keyword text submit)
              (kahua:xml-template->sxml
                page-template
                :title (title/ (@/ (id "title"))
                               "appname")
                :body (div/ (@/ (id "body"))
                            (form/ (@/ (method "GET"))
                                   (input/ (@/ (type "text") (size 50) (name "text")))
                                   (input/ (@/ (id "search-button") (type "submit") (name "submit") (value "button")))
                                   )
                            (if text (text/ text) empty)
                            )))


このコードを追加して"make install"後、ブラウザから"http://localhost:8080/form-test"にアクセスしてください。
テキストフォームとボタンが表示されるはずです。
このテキストフォームに文字列(例えば"abcd")を入力しボタンを押すと次のURLに移動し、入力した内容"abcd"が表示されるはずです。
"http://localhost:8080/transmemory/form-test?text=abcd&submit=button"


フォームの形式はGETです。GETではdefine-entryのkeyword引数で値を受けとることができます。
引数が無い場合は"#f"が渡されます。


次回はPOST編です。