technological blog
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Ocsigenで入力フォームを作ってみた。
こんなページができた: ページの外観(html)(ボタンは押しても意味ないよ。)
このページを生成するプログラムを以下のようにかいた。
このフォームにはふたつの入力ボックスがある。
例えば上のボックスに hugahuga 下のボックスに mugomugo と入力して、ボタンを押すと、タイトルが hugahuga で、本文が mugomugo であるようなページに遷移する。
ちょうど、こんな感じのページ(html)だ。
ちなみに入力ボックス内にタグを入れられても、それは単なる文字列として扱い、入力によってページの構造を破壊されることを防いでいる。
タグを入れられても大丈夫!(html)
こんなページができた: ページの外観(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