package eliom

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

module H : Html

Signature

type 'a param = 'a param
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, _, _, _, _, _, _, _, _) 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.

Creates an <input> tag for sending a file

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

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

type 'a soption = Html_types.option_attrib H.attrib list * 'a * Html_types.pcdata H.elt option * bool
type 'a select_opt =
  1. | Optgroup of [ Html_types.common | `Disabled ] H.attrib list * string * 'a soption * 'a soption list
  2. | 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 ] 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.