忍者ブログ
technological blog
[11]  [10]  [9]  [8]  [7]  [6]  [5
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Ocsigenで入力フォームを作ってみた。

こんなページができた: ページの外観(html)(ボタンは押しても意味ないよ。)

このページを生成するプログラムを以下のようにかいた。

open XHTML.M
open Eliom
open Eliom.Xhtml
open Lwt

let no_post_param_service =
register_new_service
~url:["post"]
~get_params:unit
(fun _ () () -> return
(html
(head (title (pcdata "")) [])
(body [h1 [pcdata
"Version of the page without POST parameters"]])))

let my_service_with_post_params =
register_new_post_service
~fallback:no_post_param_service
~post_params:(string "value1" ** string "value2")
(fun _ () (value1,value2) -> return
(html
(head (title (pcdata value1)) [])
(body [h1 [pcdata value2]])))

let form2 = register_new_service ["form2"] unit
(fun sp () () ->
let f =
(post_form my_service_with_post_params sp
(fun (chaine1, chaine2) ->
[p [pcdata "TITLE: ";
string_input chaine1];
p [pcdata "BODY: ";
string_input chaine2];
p [submit_input "GO"]]) ()) in
return
(html
(head (title (pcdata "form")) [])
(body [f])))


このフォームにはふたつの入力ボックスがある。

例えば上のボックスに hugahuga 下のボックスに mugomugo と入力して、ボタンを押すと、タイトルが hugahuga で、本文が mugomugo であるようなページに遷移する。

ちょうど、こんな感じのページ(html)だ。

ちなみに入力ボックス内にタグを入れられても、それは単なる文字列として扱い、入力によってページの構造を破壊されることを防いでいる。
タグを入れられても大丈夫!(html)
PR
この記事へのトラックバック
この記事にトラックバックする:

カレンダー

05 2024/06 07
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

フリーエリア

最新CM

最新TB

プロフィール

HN:
No Name
性別:
非公開

バーコード

ブログ内検索

アーカイブ