Module type Eliompredefmod.XHTMLFORMSSIG


module type XHTMLFORMSSIG = sig .. end


Links and forms


val make_string_uri : service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, unit, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params -> ?fragment:string -> 'a -> string
Creates the string corresponding to the URL of a service applyed to its GET parameters.
val a : ?a:Xhtmltypes.a_attrib XHTML.M.attrib list ->
service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params ->
?fragment:string ->
Xhtmltypes.a_content XHTML.M.elt list -> 'a -> [> Xhtmltypes.a ] XHTML.M.elt
a service sp cont () creates a link to service. The text of the link is cont. For example cont may be something like [pcdata "click here"].

The last parameter is for GET parameters. For example a service sp cont (42,"hello")

The ~a optional parameter is used for extra attributes (see the module XHTML.M).

The ~fragment optional parameter is used for the "fragment" part of the URL, that is, the part after character "#".

val css_link : ?a:Xhtmltypes.link_attrib XHTML.M.attrib list ->
uri:XHTML.M.uri -> unit -> [> Xhtmltypes.link ] XHTML.M.elt
Creates a <link> tag for a Cascading StyleSheet (CSS).
val js_script : ?a:Xhtmltypes.script_attrib XHTML.M.attrib list ->
uri:XHTML.M.uri -> unit -> [> Xhtmltypes.script ] XHTML.M.elt
Creates a <script> tag to add a javascript file
val make_uri : service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, unit, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params -> ?fragment:string -> 'a -> XHTML.M.uri
Create the text of the service. Like the a function, it may take extra parameters.
val get_form : ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
service:('a, unit, [< Eliomservices.get_service_kind ],
[< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params ->
?fragment:string ->
('b -> Xhtmltypes.form_content XHTML.M.elt list) ->
[> Xhtmltypes.form ] XHTML.M.elt
get_form service sp 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.
val post_form : ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
service:('a, 'b, [< Eliomservices.post_service_kind ],
[< Eliomservices.suff ], 'c, 'd, [< Eliomservices.registrable ])
Eliomservices.service ->
sp:Eliomsessions.server_params ->
?fragment:string ->
('d -> Xhtmltypes.form_content XHTML.M.elt list) ->
'a -> [> Xhtmltypes.form ] XHTML.M.elt
post_form service sp formgen creates a POST form to service. The last parameter is for GET parameters (as in the function a).

Form widgets


type basic_input_type = [ `Hidden | `Password | `Submit | `Text ] 
val int_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< int Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for an integer
val float_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< float Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for a float
val string_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for a string
val user_type_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< basic_input_type ] ->
?name:[< 'a Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:'a -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for a user type
val raw_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
input_type:[< `Button | `Hidden | `Password | `Reset | `Submit | `Text ] ->
?name:string -> ?value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an untyped <input> tag. You may use the name you want (for example to use with Eliomparameters.any).
val file_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< Extensions.file_info Eliomparameters.setoneopt ]
Eliomparameters.param_name ->
unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input> tag for sending a file
val image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< Eliomparameters.coordinates Eliomparameters.oneopt ]
Eliomparameters.param_name ->
?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..."> tag that sends the coordinates the user clicked on
val int_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< (int * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:int -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of type int
val float_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< (float * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:float -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of type float
val string_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< (string * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:string -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of type string
val user_type_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:[< ('a * Eliomparameters.coordinates) Eliomparameters.oneopt ]
Eliomparameters.param_name ->
value:'a ->
?src:XHTML.M.uri -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and a value of user defined type
val raw_image_input : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
name:string ->
value:string -> ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates an <input type="image" name="..." value="..."> tag that sends the coordinates the user clicked on and an untyped value
val bool_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `One of bool ] Eliomparameters.param_name ->
unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a boolean value. The service must declare a bool parameter.
val int_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of int ] Eliomparameters.param_name ->
value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have an int value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val float_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of float ] Eliomparameters.param_name ->
value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a float value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val string_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of string ] Eliomparameters.param_name ->
value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a string value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val user_type_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Set of 'a ] Eliomparameters.param_name ->
value:'a -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag that will have a "user type" value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type set.
val raw_checkbox : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:string -> value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a checkbox <input> tag with untyped content. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type any.
val string_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of string ] Eliomparameters.param_name ->
value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with string content
val int_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of int ] Eliomparameters.param_name ->
value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with int content
val float_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of float ] Eliomparameters.param_name ->
value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with float content
val user_type_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:[ `Opt of 'a ] Eliomparameters.param_name ->
value:'a -> ('a -> string) -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with user_type content
val raw_radio : ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
?checked:bool ->
name:string -> value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
Creates a radio <input> tag with untyped string content (low level)
type button_type = [ `Button | `Reset | `Submit ] 
val string_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< string Eliomparameters.setone ] Eliomparameters.param_name ->
value:string ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with string content
val int_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< int Eliomparameters.setone ] Eliomparameters.param_name ->
value:int ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with int content
val float_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< float Eliomparameters.setone ] Eliomparameters.param_name ->
value:float ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with float content
val user_type_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
name:[< 'a Eliomparameters.setone ] Eliomparameters.param_name ->
value:'a ->
('a -> string) ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with user_type content
val raw_button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
button_type:[< button_type ] ->
name:string ->
value:string ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with untyped string content
val button : ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
button_type:[< button_type ] ->
Xhtmltypes.button_content XHTML.M.elt list ->
[> Xhtmltypes.button ] XHTML.M.elt
Creates a <button> tag with no value. No value is sent.
val textarea : ?a:Xhtmltypes.textarea_attrib XHTML.M.attrib list ->
name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
?value:Xhtmltypes.pcdata XHTML.M.elt ->
rows:int -> cols:int -> unit -> [> Xhtmltypes.textarea ] XHTML.M.elt
Creates a <textarea> tag
val raw_textarea : ?a:Xhtmltypes.textarea_attrib XHTML.M.attrib list ->
name:string ->
?value:Xhtmltypes.pcdata XHTML.M.elt ->
rows:int -> cols:int -> unit -> [> Xhtmltypes.textarea ] XHTML.M.elt
Creates a <textarea> tag for untyped form
type 'a soption = Xhtmltypes.option_attrib XHTML.M.attrib list * 'a *
Xhtmltypes.pcdata XHTML.M.elt option * bool

type 'a select_opt =
| Optgroup of [ `Class | `Disabled | `Id | `Title | `XML_lang ] XHTML.M.attrib list
* string * 'a soption
* 'a soption list
| Option of 'a soption

The type for <select> options and groups of options.
val int_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of int ] Eliomparameters.param_name ->
int select_opt ->
int select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for int values.
val float_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of float ] Eliomparameters.param_name ->
float select_opt ->
float select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for float values.
val string_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of string ] Eliomparameters.param_name ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for string values.
val user_type_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `One of 'a ] Eliomparameters.param_name ->
'a select_opt ->
'a select_opt list ->
('a -> string) -> [> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for user type values.
val raw_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:string ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for any (untyped) value.
val int_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of int ] Eliomparameters.param_name ->
int select_opt ->
int select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for int values.
val float_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of float ] Eliomparameters.param_name ->
float select_opt ->
float select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for float values.
val string_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of string ] Eliomparameters.param_name ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for string values.
val user_type_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:[< `Set of 'a ] Eliomparameters.param_name ->
'a select_opt ->
'a select_opt list ->
('a -> string) -> [> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for user type values.
val raw_multiple_select : ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
name:string ->
string select_opt ->
string select_opt list ->
[> Xhtmltypes.select ] XHTML.M.elt
Creates a <select> tag for any (untyped) value.