Module type Eliom_form_sigs.S
module type S = sig..end
type 'a param
type +'a elt
type +'a attrib
type uri
val float : float param
val int : int param
val int32 : int32 param
val int64 : int64 param
val nativeint : nativeint param
val bool : bool param
val string : string param
val user : ('a -> string) -> 'a param
val make_post_uri_components :
?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
service:('get, 'post, Eliom_service.post, 'a, 'b, 'c, 'd,
[< `WithSuffix | `WithoutSuffix ], 'e, 'f, 'g)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?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 ] attrib list ->
service:('a, unit, Eliom_service.get, 'b, 'c, 'd, 'e,
[< `WithSuffix | `WithoutSuffix ], 'gn, 'f,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('gn -> [< Html_types.form_content ] elt list) ->
[> Html_types.form ] 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. 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 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 ] attrib list ->
service:('a, unit, Eliom_service.get, 'b, 'c, 'd, 'e,
[< `WithSuffix | `WithoutSuffix ], 'gn, 'f,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('gn -> [< Html_types.form_content ] elt list Lwt.t) ->
[> Html_types.form ] elt Lwt.t
Same as Eliom_form_sigs.S.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 ] attrib list ->
service:('get, 'a, Eliom_service.post, 'b, 'c, 'd, 'e,
[< `WithSuffix | `WithoutSuffix ], 'f, 'pn,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?keep_get_na_params:bool ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('pn -> [< Html_types.form_content ] elt list) ->
'get -> [> Html_types.form ] 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 Eliom_form_sigs.S.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 ] attrib list ->
service:('get, 'a, Eliom_service.post, 'b, 'c, 'd, 'e,
[< `WithSuffix | `WithoutSuffix ], 'f, 'pn,
Eliom_service.non_ocaml)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?keep_get_na_params:bool ->
?nl_params:Eliom_parameter.nl_params_set ->
?xhr:bool ->
('pn -> [< Html_types.form_content ] elt list Lwt.t) ->
'get -> [> Html_types.form ] elt Lwt.t
Same as Eliom_form_sigs.S.post_form but taking a cooperative function for <form> content generation.
val input :
?a:[< Html_types.input_attrib ] attrib list ->
input_type:[< Html_types.input_type ] ->
?name:[< 'a Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
?value:'a ->
'a param ->
[> Html_types.input ] elt
Creates an <input> tag.
val file_input :
?a:[< Html_types.input_attrib ] attrib list ->
name:[< Eliom_lib.file_info Eliom_parameter.setoneradio ]
Eliom_parameter.param_name ->
unit -> [> Html_types.input ] elt
Creates an <input> tag for sending a file
val image_input :
?a:[< Html_types.input_attrib ] attrib list ->
name:[< Eliom_parameter.coordinates Eliom_parameter.oneradio ]
Eliom_parameter.param_name ->
?src:uri ->
unit -> [> Html_types.input ] 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 ] attrib list ->
?checked:bool ->
name:[ `Set of 'a ] Eliom_parameter.param_name ->
value:'a ->
'a param ->
[> Html_types.input ] 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 ] attrib list ->
?checked:bool ->
name:[ `One of bool ] Eliom_parameter.param_name ->
unit -> [> Html_types.input ] 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 ] attrib list ->
?checked:bool ->
name:[ `Radio of 'a ] Eliom_parameter.param_name ->
value:'a ->
'a param ->
[> Html_types.input ] elt
Creates a radio <input> tag.
val string_radio_required :
?a:[< Html_types.input_attrib ] attrib list ->
?checked:bool ->
name:[ `One of string ] Eliom_parameter.param_name ->
value:string -> unit -> [> Html_types.input ] elt
val button :
?a:[< Html_types.button_attrib ] 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 elt list ->
[> Html_types.button ] elt
Creates a <button> tag.
val button_no_value :
?a:[< Html_types.button_attrib ] attrib list ->
button_type:[< Eliom_form_sigs.button_type ] ->
Html_types.button_content elt list ->
[> Html_types.button ] elt
Creates a <button> tag with no value. No value is sent.
val textarea :
?a:[< Html_types.textarea_attrib ] attrib list ->
name:[< string Eliom_parameter.setoneradio ]
Eliom_parameter.param_name ->
?value:string ->
unit -> [> Html_types.textarea ] elt
Creates a <textarea> tag
type 'a soption =
Html_types.option_attrib attrib list * 'a *
Html_types.pcdata elt option * bool
type 'a select_opt = | Optgroup of
[ `Accesskey
| `Aria
| `Class
| `Contenteditable
| `Contextmenu
| `Dir
| `Disabled
| `Draggable
| `Hidden
| `Id
| `Lang
| `OnAbort
| `OnBlur
| `OnCanPlay
| `OnCanPlayThrough
| `OnChange
| `OnClick
| `OnClose
| `OnContextMenu
| `OnDblClick
| `OnDrag
| `OnDragEnd
| `OnDragEnter
| `OnDragLeave
| `OnDragOver
| `OnDragStart
| `OnDrop
| `OnDurationChange
| `OnEmptied
| `OnEnded
| `OnError
| `OnFocus
| `OnFormChange
| `OnFormInput
| `OnInput
| `OnInvalid
| `OnKeyDown
| `OnKeyPress
| `OnKeyUp
| `OnLoad
| `OnLoadStart
| `OnLoadedData
| `OnLoadedMetaData
| `OnMouseDown
| `OnMouseMove
| `OnMouseOut
| `OnMouseOver
| `OnMouseUp
| `OnMouseWheel
| `OnPause
| `OnPlay
| `OnPlaying
| `OnProgress
| `OnRateChange
| `OnReadyStateChange
| `OnScroll
| `OnSeeked
| `OnSeeking
| `OnSelect
| `OnShow
| `OnStalled
| `OnSubmit
| `OnSuspend
| `OnTimeUpdate
| `OnTouchCancel
| `OnTouchEnd
| `OnTouchMove
| `OnTouchStart
| `OnVolumeChange
| `OnWaiting
| `Role
| `Spellcheck
| `Style_Attr
| `Tabindex
| `Title
| `Translate
| `User_data
| `XML_lang
| `XMLns ] attrib list * string
* 'a soption
* 'a soption list | Option of 'a soption
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 ] attrib list ->
?required:Html_types.pcdata elt ->
name:[ `One of 'a ] Eliom_parameter.param_name ->
'a param ->
'a select_opt ->
'a select_opt list ->
[> Html_types.select ] elt
Creates a <select> tag.
val multiple_select :
?a:[< Html_types.select_attrib ] attrib list ->
?required:Html_types.pcdata elt ->
name:[ `Set of 'a ] Eliom_parameter.param_name ->
'a param ->
'a select_opt ->
'a select_opt list ->
[> Html_types.select ] elt
Creates a multiple-selection <select> tag.