package eliom
Install
Dune Dependency
Authors
Maintainers
Sources
md5=3aeeca5f734f8e932b5a00fbfd43bd26
sha512=d92948949c81fe5b84f7d262b72653175d4f69574cbb4f85433f3a40df436e9e78b3f024ebcd98cb0e1c8ec45af0e3f9cd1153187549883f4ddfd32feeee3176
doc/eliom.server/Eliom_form/Make/index.html
Module Eliom_form.Make
Source
Parameters
Signature
val make_post_uri_components :
?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
service:
('get, 'post, Eliom_service.post, _, _, _, _, _, _, _, _) Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `Persistent | `None ] ->
?nl_params:Eliom_parameter.nl_params_set ->
?keep_get_na_params:bool ->
'get ->
'post ->
string
* (string * Eliommod_parameters.param) list
* string option
* (string * Eliommod_parameters.param) list
Same as LINK.make_uri_components
, but also returns a list of post parameters.
val get_form :
?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
?a:[< Html_types.form_attrib ] H.attrib list ->
service:
(_,
unit,
Eliom_service.get,
_,
_,
_,
_,
_,
'gn,
_,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `Persistent | `None ] ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('gn -> [< Html_types.form_content ] H.elt list) ->
[> Html_types.form ] H.elt
The function get_form service formgen
creates a GET <form>
to service
. The content of the <form>
is generated by the function formgen
, that takes the names of the service parameters as parameters. By default, the action
attribute is a relative URL recomputed at each request with make_uri
.
By default, the form is realized such that the client-side Eliom application keeps running irrespectable of the usage of the form (cf. <<a_api project="eliom" subproject="client" | val
Eliom_client.change_page>>
).
By contrast, if the optional parameter ~xhr:false
is given, the form is realized as a standard HTML form and submitting it discontinues the Eliom application. The ~xhr
parameter has no effect outside an Eliom application.
NB that the default value of ~xhr
is configurable through <<a_api project="eliom" subproject="server" | val
Eliom_config.set_default_links_xhr >>
.
The optional parameter ~a
allows one to add extra HTML attributes to the generated node.
See make_uri
for description of other optional parameters.
val lwt_get_form :
?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
?a:[< Html_types.form_attrib ] H.attrib list ->
service:
(_,
unit,
Eliom_service.get,
_,
_,
_,
_,
_,
'gn,
_,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `Persistent | `None ] ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('gn -> [< Html_types.form_content ] H.elt list Lwt.t) ->
[> Html_types.form ] H.elt Lwt.t
Same as get_form
but taking a cooperative function for <form>
content generation.
val post_form :
?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
?a:[< Html_types.form_attrib ] H.attrib list ->
service:
('get,
_,
Eliom_service.post,
_,
_,
_,
_,
_,
_,
'pn,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `Persistent | `None ] ->
?keep_get_na_params:bool ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('pn -> [< Html_types.form_content ] H.elt list) ->
'get ->
[> Html_types.form ] H.elt
The function post_form service formgen post_params
creates a POST <form>
to service
preapplied to the POST parameters post_params
. The content of the <form>
is generated by the function formgen
, that takes the names of the service parameters as parameters. By default, the action
attribute is a relative URL recomputed at each request with make_uri
.
The optional parameter ~a
allows one to add HTML attributes to the generated node.
See Eliom_service.make
for a description of the ~keep_get_na_params
optional parameter ; see get_form
for ~xhr
and see make_uri
for other optional parameters.
val lwt_post_form :
?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
?a:[< Html_types.form_attrib ] H.attrib list ->
service:
('get,
_,
Eliom_service.post,
_,
_,
_,
_,
_,
_,
'pn,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `Persistent | `None ] ->
?keep_get_na_params:bool ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('pn -> [< Html_types.form_content ] H.elt list Lwt.t) ->
'get ->
[> Html_types.form ] H.elt Lwt.t
Same as post_form
but taking a cooperative function for <form>
content generation.
val input :
?a:[< Html_types.input_attrib ] H.attrib list ->
input_type:[< Html_types.input_type ] ->
?name:[< 'a Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
?value:'a ->
'a param ->
[> Html_types.input ] H.elt
Creates an <input>
tag.
val file_input :
?a:[< Html_types.input_attrib ] H.attrib list ->
name:
[< Eliom_lib.file_info Eliom_parameter.setoneradio ]
Eliom_parameter.param_name ->
unit ->
[> Html_types.input ] H.elt
Creates an <input>
tag for sending a file
val image_input :
?a:[< Html_types.input_attrib ] H.attrib list ->
name:
[< Eliom_parameter.coordinates Eliom_parameter.oneradio ]
Eliom_parameter.param_name ->
?src:H.uri ->
unit ->
[> Html_types.input ] H.elt
Creates an <input type="image" name="...">
tag. The server receives the coordinates that the user clicked on.
val checkbox :
?a:[< Html_types.input_attrib ] H.attrib list ->
?checked:bool ->
name:[ `Set of 'a ] Eliom_parameter.param_name ->
value:'a ->
'a param ->
[> Html_types.input ] H.elt
Creates a checkbox <input>
tag. You can produce several checkboxes with the same name (and different values). The service must declare a parameter of type set
.
val bool_checkbox_one :
?a:[< Html_types.input_attrib ] H.attrib list ->
?checked:bool ->
name:[ `One of bool ] Eliom_parameter.param_name ->
unit ->
[> Html_types.input ] H.elt
Creates a checkbox <input>
tag of type bool. Only one checkbox with the same name
is allowed.
val radio :
?a:[< Html_types.input_attrib ] H.attrib list ->
?checked:bool ->
name:[ `Radio of 'a ] Eliom_parameter.param_name ->
value:'a ->
'a param ->
[> Html_types.input ] H.elt
Creates a radio <input>
tag.
val string_radio_required :
?a:[< Html_types.input_attrib ] H.attrib list ->
?checked:bool ->
name:[ `One of string ] Eliom_parameter.param_name ->
value:string ->
unit ->
[> Html_types.input ] H.elt
val button :
?a:[< Html_types.button_attrib ] H.attrib list ->
button_type:[< Eliom_form_sigs.button_type ] ->
name:[< 'a Eliom_parameter.setone ] Eliom_parameter.param_name ->
value:'a ->
'a param ->
Html_types.button_content H.elt list ->
[> Html_types.button ] H.elt
Creates a <button>
tag.
val button_no_value :
?a:[< Html_types.button_attrib ] H.attrib list ->
button_type:[< Eliom_form_sigs.button_type ] ->
Html_types.button_content H.elt list ->
[> Html_types.button ] H.elt
Creates a <button>
tag with no value. No value is sent.
val textarea :
?a:[< Html_types.textarea_attrib ] H.attrib list ->
name:[< string Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
?value:string ->
unit ->
[> Html_types.textarea ] H.elt
Creates a <textarea>
tag
The type for <select>
options and groups of options.
- The field of type 'a in
soption
is the value that will be sent by the form. - If the
Html_types.pcdata elt option
is not present it is also the value displayed. - The string in
select_opt
is the label
val select :
?a:[< Html_types.select_attrib ] H.attrib list ->
?required:Html_types.pcdata H.elt ->
name:[ `One of 'a ] Eliom_parameter.param_name ->
'a param ->
'a select_opt ->
'a select_opt list ->
[> Html_types.select ] H.elt
Creates a <select>
tag.
val multiple_select :
?a:[< Html_types.select_attrib ] H.attrib list ->
?required:Html_types.pcdata H.elt ->
name:[ `Set of 'a ] Eliom_parameter.param_name ->
'a param ->
'a select_opt ->
'a select_opt list ->
[> Html_types.select ] H.elt
Creates a multiple-selection <select>
tag.