---
name: "Eliom_mkforms.MakeForms.server"
section: "3o"
platform: "linux"
package: "libeliom-ocaml-doc"
version: "4.0.0-2"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Eliom_mkforms.MakeForms.server"
---

# Eliom\_mkforms.MakeForms.server(3o)

no description

## NAME

Eliom\_mkforms.MakeForms - no description

## Module

Module   Eliom\_mkforms.MakeForms

## Documentation

Module **MakeForms**\
  :  **functor (Pages : FORMS\_PARAM) -\> sig end**

**Parameters:**

"Pages"

**Eliom\_mkforms.FORMS\_PARAM**

*type uri* =  **Pages.uri**

**===** **Forms creation** **===**

**===** **Links and forms** **===**

*val make\_uri* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('get, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, unit, \[\< Eliom\_service.registrable \],** **'return)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\> 'get -\> Pages.uri**

The function  **make\_uri service get\_params** returns the URL of the service  **service** applied to the GET parameters  **get\_params** . By default the returned URL is relative to the current request URL but it is absolute when one of the following conditions is met:

\-the optional parameter  **~absolute\_path** is  **true** .

\-the optional parameter  **~absolute** is  **true** .

\-the optional parameter  **~https** is  **true** (resp.  **false** ) and the current request protocol is  **http** (resp.  **https** ).

\-the optional parameter  **~https** is  **true** and the function is used outside of a service handler

\-the  **service** has been created with  **~https:true** and the current request protocol is  **http** .

\-the  **service** has been created with  **~https:true** and the function is used outside of a service handler.

When only the first condition is met ( **~absolute\_path** is  **true** ) the returned URL is just the absolute path, but when any other condition is satisfied the returned URL is prefixed with **protocol://hostname\[:port\]** , where:

\- **protocol** is:

\- **https** if the  **service** has been created with  **~https:true** or the optional parameter  **~https** is  **true** ;

\- **http** if  the optional parameter  **~https** is  **false** ;

\-the current request protocol if available;

\- **http** in any other case.

\- **hostname** is:

\-the optional parameter  **~hostname** if given;

\-the attribute  **defaulthostname** of  **\<host\>** tag in configuration file or the machine hostname if the option  **\<usedefaulthostname/\>** is set;

\-the  **Host** http header of the current request if available;

\-the attribute  **defaulthostname** of  **\<host\>** tag in configuration file or the machine hostname in any other case.

\- **port** is:

\-the optional parameter  **~port** if given;

\-the attribute  **defaulthttpsport** (resp.  **defaulthttpport** ) of  **\<host\>** tag in configuration file or  **443** (resp. 80) if  **protocol** is  **https** (resp.  **http** ) and the current request protocol is  **http** (resp.  **https** );

\-the attribute  **defaulthttpsport** (resp.  **defaulthttpsport** ) of  **\<host\>** tag in configuration file or  **443** (resp. 80) if the option  **\<usedefaulthostname/\>** is set and  **protocol** is  **https** (resp.  **http** );

\-the port associated to the  **Host** http header of the current request if available;

\-the incoming port of the current request if available;

\-the attribute  **defaulthttpport** (resp.  **defaulthttpsport** ) of  **\<host\>** tag in configuration file or  **80** (resp.  **443** ) in any other case.

If given the optional parameter  **~fragment** is prefixed by  **#** and appended to the URL.

The optional parameter  **keep\_nl\_params** allows one to override the **keep\_nl\_params** parameter used when creating the  **service** , see **Eliom\_service.Http.service** for a detailled description.

The optional parameter  **nl\_params** allows one to add non localized GET parameter to the URL.  See the eliom manual for more information about .

*val make\_string\_uri* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('get, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, unit, \[\< Eliom\_service.registrable \],** **'return)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\> 'get -\> string**

The function  **make\_string\_uri service get\_params** returns the URL of the of the service  **service** applied to the GET parameters **get\_params** . See  **make\_uri** for a detailled description of optional parameters.

The function  **make\_string\_uri** is an alias of  **Eliom\_uri.make\_string\_uri** .

Warning: The function  **make\_string\_uri** should not be called outside of a service handler, unless one of the following condition is met:

\-the optional parameter  **~absolute\_path** is  **true** .

\-the optional parameter  **~absolute** is  **true** .

\-the optional parameter  **~https** is  **true** .

\-the  **service** has been created with  **~https:true** .

\-the  **service** is an external service.

*val uri\_of\_string* :  **(unit -\> string) -\> Pages.uri**

The function  **uri\_of\_string f** returns a URI whose content is equivalent to  **f ()** .

For XML tree build with TyXML, like  **Html5** or **Svg.F** , the function  **f** is applied each time the XML tree is sent to the client (either as page content or as a marshalled OCaml value). Hence, the function is always evaluated in the context of a service handler.

For other module, the function  **f** is immediatly applied.

*val make\_uri\_components* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('get, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, unit, \[\< Eliom\_service.registrable \],** **'return)** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **'get -\> string \* (string \* Eliommod\_parameters.param) list \* string option**

The function  **make\_uri\_components service get\_params** returns the a triplet  **(path, get\_params, fragment)** that is a decomposition of the URL for the service  **service** applied to the GET parameters **get\_params** . By default the returned  **path** is relative to the current request URL but it could be absolute URL in some situation, see  **make\_uri** for more information and a description of optional parameters.

The function  **make\_uri\_components** is an alias for **Eliom\_uri.make\_uri\_components** .

Warning: depending on the optional parameters, the function **make\_uri\_components** may not be used outside of a service handler. See  **make\_string\_uri** for a detailled description.

*val make\_post\_uri\_components* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **service:('get, 'post, \[\< Eliom\_service.post\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, 'pn, \[\< Eliom\_service.registrable \],** **'return)** **Eliom\_service.service -\>** **?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 a  **make\_uri\_components** , but also returns a list of post parameters.

*val a* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Pages.a\_attrib\_t -\>** **service:('get, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'd, unit, \[\< Eliom\_service.registrable \],** **\[\< Eliom\_service.non\_ocaml\_service \])** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\> 'a Pages.a\_content\_elt\_list -\> 'get -\> 'a Pages.a\_elt**

The function  **a service a\_content get\_params** creates a  **\<a\>** node that link to  **service** applied to GET parameters  **get\_params** and whose content is  **a\_content** . By default, the  **href** attribute is a relative URL recomputed at each request with  **make\_uri** .

By default, the link is realized such that the client-side Eliom application keeps running irrespectable of the usage of the link (cf. ).

By contrast, if the optional parameter  **~xhr:false** is given, the link is realized as a standard HTML link and clicking 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 css\_link* :  **?a:Pages.link\_attrib\_t -\> uri:Pages.uri -\> unit -\> Pages.link\_elt**

The function  **css\_link ~uri ()** creates a  **\<link\>** node that reference a Cascading StyleSheet (CSS).

If the CSS is generated by an Eliom service, use  **make\_uri** to calculate the service URI. If the CSS is a static file, you may also use  **Eliom\_service.static\_dir** or **Eliom\_service.Http.external\_service** to abstract the file with a service.

The optional parameter  **~a** allows one to add extra HTML attributes to the generated node.

*val js\_script* :  **?a:Pages.script\_attrib\_t -\> uri:Pages.uri -\> unit -\> Pages.script\_elt**

The function  **js\_script ~uri ()** creates a  **\<script\>** node that reference a javascript file.

If the script content is generated by an Eliom service, use **make\_uri** to calculate the service URI. If it is a static file, you may also use  **Eliom\_service.static\_dir** or **Eliom\_service.Http.external\_service** to abstract the file with a service.

The optional parameter  **~a** allows one to add extra HTML attributes to the generated node.

*val get\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Pages.form\_attrib\_t -\>** **service:('get, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, 'pn, \[\< Eliom\_service.registrable \],** **\[\< Eliom\_service.non\_ocaml\_service \])** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\> ('gn -\> Pages.form\_content\_elt\_list) -\> Pages.form\_elt**

The function  **post\_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. ).

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:Pages.form\_attrib\_t -\>** **service:('get, unit, \[\< Eliom\_service.get\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, 'pn, \[\< Eliom\_service.registrable \],** **\[\< Eliom\_service.non\_ocaml\_service \])** **Eliom\_service.service -\>** **?hostname:string -\>** **?port:int -\>** **?fragment:string -\>** **?keep\_nl\_params:\[ \`All \| \`None \| \`Persistent \] -\>** **?nl\_params:Eliom\_parameter.nl\_params\_set -\>** **?xhr:bool -\>** **('gn -\> Pages.form\_content\_elt\_list Lwt.t) -\> Pages.form\_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:Pages.form\_attrib\_t -\>** **service:('get, 'post, \[\< Eliom\_service.post\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, 'pn, \[\< Eliom\_service.registrable \],** **\[\< Eliom\_service.non\_ocaml\_service \])** **Eliom\_service.service -\>** **?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 -\> Pages.form\_content\_elt\_list) -\> 'get -\> Pages.form\_elt**

The function  **post\_form service formgen get\_params** creates a POST **\<form\>** to  **service** preapplied to the GET parameters **get\_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.Http.post\_coservice'** 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:Pages.form\_attrib\_t -\>** **service:('get, 'post, \[\< Eliom\_service.post\_service\_kind \],** **\[\< Eliom\_service.suff \], 'gn, 'pn, \[\< Eliom\_service.registrable \],** **\[\< Eliom\_service.non\_ocaml\_service \])** **Eliom\_service.service -\>** **?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 -\> Pages.form\_content\_elt\_list Lwt.t) -\> 'get -\> Pages.form\_elt Lwt.t**

Same as  **post\_form** but taking a cooperative function for **\<form\>** content generation.

**===** **Form widgets** **===**

*val int\_input* :  **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:\[\< int Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int -\> unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for an integer

*val int32\_input* :  **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:\[\< int32 Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int32 -\> unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for an integer

*val int64\_input* :  **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:\[\< int64 Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int64 -\> unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for an integer

*val float\_input* :  **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:\[\< float Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:float -\> unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for a float

*val string\_input* :  **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\> unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for a string

*val user\_type\_input* :  **('a -\> string) -\>** **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:\[\< 'a Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:'a -\> unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for a user type

*val raw\_input* :  **?a:Pages.input\_attrib\_t -\>** **input\_type:Pages.input\_type\_t -\>** **?name:string -\> ?value:string -\> unit -\> Pages.input\_elt**

Creates an untyped  **\<input\>** tag. You may use the name you want (for example to use with  **Eliom\_parameter.any** ).

*val file\_input* :  **?a:Pages.input\_attrib\_t -\>** **name:\[\< Eliom\_lib.file\_info Eliom\_parameter.setoneradio \]** **Eliom\_parameter.param\_name -\>** **unit -\> Pages.input\_elt**

Creates an  **\<input\>** tag for sending a file

*val image\_input* :  **?a:Pages.input\_attrib\_t -\>** **name:\[\< Eliom\_parameter.coordinates Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **?src:Pages.uri -\> unit -\> Pages.input\_elt**

Creates an  **\<input type="image" name="..."\>** tag that sends the coordinates the user clicked on

*val int\_image\_input* :  **?a:Pages.input\_attrib\_t -\>** **name:\[\< (int \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int -\> ?src:Pages.uri -\> unit -\> Pages.input\_elt**

Creates an  **\<input type="image" name="..." value="..."\>** tag that sends the coordinates the user clicked on and a value of type int

*val int32\_image\_input* :  **?a:Pages.input\_attrib\_t -\>** **name:\[\< (int32 \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int32 -\> ?src:Pages.uri -\> unit -\> Pages.input\_elt**

Creates an  **\<input type="image" name="..." value="..."\>** tag that sends the coordinates the user clicked on and a value of type int32

*val int64\_image\_input* :  **?a:Pages.input\_attrib\_t -\>** **name:\[\< (int64 \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int64 -\> ?src:Pages.uri -\> unit -\> Pages.input\_elt**

Creates an  **\<input type="image" name="..." value="..."\>** tag that sends the coordinates the user clicked on and a value of type int64

*val float\_image\_input* :  **?a:Pages.input\_attrib\_t -\>** **name:\[\< (float \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:float -\> ?src:Pages.uri -\> unit -\> Pages.input\_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:Pages.input\_attrib\_t -\>** **name:\[\< (string \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:string -\> ?src:Pages.uri -\> unit -\> Pages.input\_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 -\> string) -\>** **?a:Pages.input\_attrib\_t -\>** **name:\[\< ('a \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:'a -\> ?src:Pages.uri -\> unit -\> Pages.input\_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:Pages.input\_attrib\_t -\>** **name:string -\> value:string -\> ?src:Pages.uri -\> unit -\> Pages.input\_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:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`One of bool \] Eliom\_parameter.param\_name -\> unit -\> Pages.input\_elt**

Creates a checkbox  **\<input\>** tag that will have a boolean value. The service must declare a  **bool** parameter.

*val int\_checkbox* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Set of int \] Eliom\_parameter.param\_name -\>** **value:int -\> unit -\> Pages.input\_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 int32\_checkbox* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Set of int32 \] Eliom\_parameter.param\_name -\>** **value:int32 -\> unit -\> Pages.input\_elt**

Creates a checkbox  **\<input\>** tag that will have an int32 value. Thus you can do several checkboxes with the same name (and different values). The service must declare a parameter of type  **set** .

*val int64\_checkbox* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Set of int64 \] Eliom\_parameter.param\_name -\>** **value:int64 -\> unit -\> Pages.input\_elt**

Creates a checkbox  **\<input\>** tag that will have an int64 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:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Set of float \] Eliom\_parameter.param\_name -\>** **value:float -\> unit -\> Pages.input\_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:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Set of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> Pages.input\_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 -\> string) -\>** **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Set of 'a \] Eliom\_parameter.param\_name -\>** **value:'a -\> unit -\> Pages.input\_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:Pages.input\_attrib\_t -\>** **?checked:bool -\> name:string -\> value:string -\> unit -\> Pages.input\_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:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Radio of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with string content

*val string\_radio\_required* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`One of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> Pages.input\_elt**

*val int\_radio* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Radio of int \] Eliom\_parameter.param\_name -\>** **value:int -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with int content

*val int32\_radio* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Radio of int32 \] Eliom\_parameter.param\_name -\>** **value:int32 -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with int32 content

*val int64\_radio* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Radio of int64 \] Eliom\_parameter.param\_name -\>** **value:int64 -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with int64 content

*val float\_radio* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Radio of float \] Eliom\_parameter.param\_name -\>** **value:float -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with float content

*val user\_type\_radio* :  **('a -\> string) -\>** **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\>** **name:\[ \`Radio of 'a \] Eliom\_parameter.param\_name -\>** **value:'a -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with user\_type content

*val raw\_radio* :  **?a:Pages.input\_attrib\_t -\>** **?checked:bool -\> name:string -\> value:string -\> unit -\> Pages.input\_elt**

Creates a radio  **\<input\>** tag with untyped string content (low level)

*val string\_button* :  **?a:Pages.button\_attrib\_t -\>** **name:\[\< string Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:string -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with string content

*val int\_button* :  **?a:Pages.button\_attrib\_t -\>** **name:\[\< int Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with int content

*val int32\_button* :  **?a:Pages.button\_attrib\_t -\>** **name:\[\< int32 Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int32 -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with int32 content

*val int64\_button* :  **?a:Pages.button\_attrib\_t -\>** **name:\[\< int64 Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int64 -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with int64 content

*val float\_button* :  **?a:Pages.button\_attrib\_t -\>** **name:\[\< float Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:float -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with float content

*val user\_type\_button* :  **('a -\> string) -\>** **?a:Pages.button\_attrib\_t -\>** **name:\[\< 'a Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:'a -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with user\_type content

*val raw\_button* :  **?a:Pages.button\_attrib\_t -\>** **button\_type:Pages.button\_type\_t -\>** **name:string -\>** **value:string -\> Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with untyped string content

*val button* :  **?a:Pages.button\_attrib\_t -\>** **button\_type:Pages.button\_type\_t -\>** **Pages.button\_content\_elt\_list -\> Pages.button\_elt**

Creates a  **\<button\>** tag with no value. No value is sent.

*val textarea* :  **?a:Pages.textarea\_attrib\_t -\>** **name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\> unit -\> Pages.textarea\_elt**

Creates a  **\<textarea\>** tag

*val raw\_textarea* :  **?a:Pages.textarea\_attrib\_t -\>** **name:string -\> ?value:string -\> unit -\> Pages.textarea\_elt**

Creates a  **\<textarea\>** tag for untyped form

*type* **'a** *soption* =  **Pages.option\_attrib\_t \* 'a \* Pages.pcdata\_elt option \* bool**

*type* **'a** *select\_opt* =\
  \| Optgroup **of** **Pages.optgroup\_attrib\_t \* 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  **pcdata\_elt option** is not present it is also the value displayed.

\-The string in  **select\_opt** is the label

*val int\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`One of int \] Eliom\_parameter.param\_name -\>** **int select\_opt -\>** **int select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for int values.

*val int32\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`One of int32 \] Eliom\_parameter.param\_name -\>** **int32 select\_opt -\>** **int32 select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for int32 values.

*val int64\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`One of int64 \] Eliom\_parameter.param\_name -\>** **int64 select\_opt -\>** **int64 select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for int64 values.

*val float\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`One of float \] Eliom\_parameter.param\_name -\>** **float select\_opt -\>** **float select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for float values.

*val string\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`One of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for string values.

*val user\_type\_select* :  **('a -\> string) -\>** **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`One of 'a \] Eliom\_parameter.param\_name -\>** **'a select\_opt -\>** **'a select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for user type values.

*val raw\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:string -\>** **string select\_opt -\>** **string select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for any (untyped) value.

*val int\_multiple\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`Set of int \] Eliom\_parameter.param\_name -\>** **int select\_opt -\>** **int select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for int values.

*val int32\_multiple\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`Set of int32 \] Eliom\_parameter.param\_name -\>** **int32 select\_opt -\>** **int32 select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for int32 values.

*val int64\_multiple\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`Set of int64 \] Eliom\_parameter.param\_name -\>** **int64 select\_opt -\>** **int64 select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for int64 values.

*val float\_multiple\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`Set of float \] Eliom\_parameter.param\_name -\>** **float select\_opt -\>** **float select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for float values.

*val string\_multiple\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`Set of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for string values.

*val user\_type\_multiple\_select* :  **('a -\> string) -\>** **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:\[\< \`Set of 'a \] Eliom\_parameter.param\_name -\>** **'a select\_opt -\>** **'a select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for user type values.

*val raw\_multiple\_select* :  **?a:Pages.select\_attrib\_t -\>** **?required:Pages.pcdata\_elt -\>** **name:string -\>** **string select\_opt -\>** **string select\_opt list -\> Pages.select\_elt**

Creates a  **\<select\>** tag for any (untyped) value.

*val a\_for* :  **'a Eliom\_parameter.param\_name -\> Pages.for\_attrib**
