---
name: "Eliom_content.Html5.D.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_content.Html5.D.server"
---

# Eliom\_content.Html5.D.server(3o)

Creation of HTML5 content with DOM semantics (referable, see also {% \<\<a\_api\|module Eliom\_content\>\> %}).

## NAME

Eliom\_content.Html5.D - Creation of HTML5 content with DOM semantics (referable, see also {% \<\<a\_api\|module Eliom\_content\>\>  %}).

## Module

Module   Eliom\_content.Html5.D

## Documentation

Module **D**\
  :  **sig end**

Creation of HTML5 content with DOM semantics (referable, see also ).

**===** **Content creation** **See {% \<\<a\_api project="tyxml" \| module Html5\_sigs.T \>\> %},** **If you want to create an untyped form,** **you will have to use {% \<\<a\_api\|module Eliom\_content.Html5.D.Raw\>\> %}** **otherwise, use the form module.** **For more information,** **see \[http://ocsigen.org/howto/forms/\]"how to make forms" ===**

*module Raw :* **sig end**

See .

*include Eliom\_content.Html5.D.Raw*

**===** **Event handlers** **===**

*val a\_onabort* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnAbort \] Eliom\_content.Html5.attrib**

Redefine event handler attributes to simplify their usage.

*val a\_onafterprint* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnAfterPrint \] Eliom\_content.Html5.attrib**

*val a\_onbeforeprint* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnBeforePrint \] Eliom\_content.Html5.attrib**

*val a\_onbeforeunload* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnBeforeUnload \] Eliom\_content.Html5.attrib**

*val a\_onblur* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnBlur \] Eliom\_content.Html5.attrib**

*val a\_oncanplay* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnCanPlay \] Eliom\_content.Html5.attrib**

*val a\_oncanplaythrough* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnCanPlayThrough \] Eliom\_content.Html5.attrib**

*val a\_onchange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnChange \] Eliom\_content.Html5.attrib**

*val a\_onclick* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnClick \] Eliom\_content.Html5.attrib**

*val a\_oncontextmenu* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnContextMenu \] Eliom\_content.Html5.attrib**

*val a\_ondblclick* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDblClick \] Eliom\_content.Html5.attrib**

*val a\_ondrag* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDrag \] Eliom\_content.Html5.attrib**

*val a\_ondragend* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDragEnd \] Eliom\_content.Html5.attrib**

*val a\_ondragenter* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDragEnter \] Eliom\_content.Html5.attrib**

*val a\_ondragleave* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDragLeave \] Eliom\_content.Html5.attrib**

*val a\_ondragover* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDragOver \] Eliom\_content.Html5.attrib**

*val a\_ondragstart* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDragStart \] Eliom\_content.Html5.attrib**

*val a\_ondrop* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDrop \] Eliom\_content.Html5.attrib**

*val a\_ondurationchange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnDurationChange \] Eliom\_content.Html5.attrib**

*val a\_onemptied* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnEmptied \] Eliom\_content.Html5.attrib**

*val a\_onended* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnEnded \] Eliom\_content.Html5.attrib**

*val a\_onerror* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnError \] Eliom\_content.Html5.attrib**

*val a\_onfocus* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnFocus \] Eliom\_content.Html5.attrib**

*val a\_onformchange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnFormChange \] Eliom\_content.Html5.attrib**

*val a\_onforminput* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnFormInput \] Eliom\_content.Html5.attrib**

*val a\_onhashchange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnHashChange \] Eliom\_content.Html5.attrib**

*val a\_oninput* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnInput \] Eliom\_content.Html5.attrib**

*val a\_oninvalid* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnInvalid \] Eliom\_content.Html5.attrib**

*val a\_onmousedown* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMouseDown \] Eliom\_content.Html5.attrib**

*val a\_onmouseup* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMouseUp \] Eliom\_content.Html5.attrib**

*val a\_onmouseover* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMouseOver \] Eliom\_content.Html5.attrib**

*val a\_onmousemove* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMouseMove \] Eliom\_content.Html5.attrib**

*val a\_onmouseout* :  **(Dom\_html.mouseEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMouseOut \] Eliom\_content.Html5.attrib**

*val a\_onmousewheel* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMouseWheel \] Eliom\_content.Html5.attrib**

*val a\_onoffline* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnOffLine \] Eliom\_content.Html5.attrib**

*val a\_ononline* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnOnLine \] Eliom\_content.Html5.attrib**

*val a\_onpause* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnPause \] Eliom\_content.Html5.attrib**

*val a\_onplay* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnPlay \] Eliom\_content.Html5.attrib**

*val a\_onplaying* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnPlaying \] Eliom\_content.Html5.attrib**

*val a\_onpagehide* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnPageHide \] Eliom\_content.Html5.attrib**

*val a\_onpageshow* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnPageShow \] Eliom\_content.Html5.attrib**

*val a\_onpopstate* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnPopState \] Eliom\_content.Html5.attrib**

*val a\_onprogress* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnProgress \] Eliom\_content.Html5.attrib**

*val a\_onratechange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnRateChange \] Eliom\_content.Html5.attrib**

*val a\_onreadystatechange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnReadyStateChange \] Eliom\_content.Html5.attrib**

*val a\_onredo* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnRedo \] Eliom\_content.Html5.attrib**

*val a\_onresize* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnResize \] Eliom\_content.Html5.attrib**

*val a\_onscroll* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnScroll \] Eliom\_content.Html5.attrib**

*val a\_onseeked* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnSeeked \] Eliom\_content.Html5.attrib**

*val a\_onseeking* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnSeeking \] Eliom\_content.Html5.attrib**

*val a\_onselect* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnSelect \] Eliom\_content.Html5.attrib**

*val a\_onshow* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnShow \] Eliom\_content.Html5.attrib**

*val a\_onstalled* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnStalled \] Eliom\_content.Html5.attrib**

*val a\_onstorage* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnStorage \] Eliom\_content.Html5.attrib**

*val a\_onsubmit* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnSubmit \] Eliom\_content.Html5.attrib**

*val a\_onsuspend* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnSuspend \] Eliom\_content.Html5.attrib**

*val a\_ontimeupdate* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnTimeUpdate \] Eliom\_content.Html5.attrib**

*val a\_onundo* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnUndo \] Eliom\_content.Html5.attrib**

*val a\_onunload* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnUnload \] Eliom\_content.Html5.attrib**

*val a\_onvolumechange* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnVolumeChange \] Eliom\_content.Html5.attrib**

*val a\_onwaiting* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnWaiting \] Eliom\_content.Html5.attrib**

*val a\_onkeypress* :  **(Dom\_html.keyboardEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnKeyPress \] Eliom\_content.Html5.attrib**

*val a\_onkeydown* :  **(Dom\_html.keyboardEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnKeyDown \] Eliom\_content.Html5.attrib**

*val a\_onkeyup* :  **(Dom\_html.keyboardEvent Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnKeyUp \] Eliom\_content.Html5.attrib**

*val a\_onload* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnLoad \] Eliom\_content.Html5.attrib**

*val a\_onloadeddata* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnLoadedData \] Eliom\_content.Html5.attrib**

*val a\_onloadedmetadata* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnLoadedMetaData \] Eliom\_content.Html5.attrib**

*val a\_onloadstart* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnLoadStart \] Eliom\_content.Html5.attrib**

*val a\_onmessage* :  **(Dom\_html.event Js.t -\> unit) Eliom\_lib.client\_value -\>** **\[\> \`OnMessage \] Eliom\_content.Html5.attrib**

**===** **Forms** **===**

**===** **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 -\> Eliom\_content.Xml.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  **Eliom\_content.Html5.D.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) -\> Eliom\_content.Xml.uri**

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

For XML tree build with TyXML, like  **Eliom\_content.Html5** or **Eliom\_content.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  **Eliom\_content.Html5.D.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  **Eliom\_content.Html5.D.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  **Eliom\_content.Html5.D.make\_uri\_components** , but also returns a list of post parameters.

*val a* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Html5\_types.a\_attrib Eliom\_content.Html5.attrib list -\>** **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 Eliom\_content.Html5.elt list -\>** **'get -\> \[\> 'a Html5\_types.a \] Eliom\_content.Html5.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  **Eliom\_content.Html5.D.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  **Eliom\_content.Html5.D.make\_uri** for description of other optional parameters.

*val css\_link* :  **?a:Html5\_types.link\_attrib Eliom\_content.Html5.attrib list -\>** **uri:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.link \] Eliom\_content.Html5.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  **Eliom\_content.Html5.D.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:Html5\_types.script\_attrib Eliom\_content.Html5.attrib list -\>** **uri:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.script \] Eliom\_content.Html5.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 **Eliom\_content.Html5.D.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:Html5\_types.form\_attrib Eliom\_content.Html5.attrib list -\>** **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 -\> Html5\_types.form\_content Eliom\_content.Html5.elt list) -\>** **\[\> Html5\_types.form \] Eliom\_content.Html5.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  **Eliom\_content.Html5.D.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  **Eliom\_content.Html5.D.make\_uri** for description of other optional parameters.

*val lwt\_get\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Html5\_types.form\_attrib Eliom\_content.Html5.attrib list -\>** **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 -\> Html5\_types.form\_content Eliom\_content.Html5.elt list Lwt.t) -\>** **\[\> Html5\_types.form \] Eliom\_content.Html5.elt Lwt.t**

Same as  **Eliom\_content.Html5.D.get\_form** but taking a cooperative function for **\<form\>** content generation.

*val post\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Html5\_types.form\_attrib Eliom\_content.Html5.attrib list -\>** **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 -\> Html5\_types.form\_content Eliom\_content.Html5.elt list) -\>** **'get -\> \[\> Html5\_types.form \] Eliom\_content.Html5.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  **Eliom\_content.Html5.D.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  **Eliom\_content.Html5.D.get\_form** for **~xhr** and see  **Eliom\_content.Html5.D.make\_uri** for other optional parameters.

*val lwt\_post\_form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Html5\_types.form\_attrib Eliom\_content.Html5.attrib list -\>** **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 -\> Html5\_types.form\_content Eliom\_content.Html5.elt list Lwt.t) -\>** **'get -\> \[\> Html5\_types.form \] Eliom\_content.Html5.elt Lwt.t**

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

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

*val int\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< int Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val int32\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< int32 Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int32 -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val int64\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< int64 Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:int64 -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val float\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< float Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:float -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val string\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val user\_type\_input* :  **('a -\> string) -\>** **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< 'a Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:'a -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val raw\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:string -\>** **?value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< Eliom\_lib.file\_info Eliom\_parameter.setoneradio \]** **Eliom\_parameter.param\_name -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val image\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< Eliom\_parameter.coordinates Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val int\_image\_input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< (int \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< (int32 \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int32 -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< (int64 \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:int64 -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< (float \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:float -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< (string \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:string -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< ('a \* Eliom\_parameter.coordinates) Eliom\_parameter.oneradio \]** **Eliom\_parameter.param\_name -\>** **value:'a -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **name:string -\>** **value:string -\>** **?src:Eliom\_content.Xml.uri -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`One of bool \] Eliom\_parameter.param\_name -\>** **unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val int\_checkbox* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of int \] Eliom\_parameter.param\_name -\>** **value:int -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of int32 \] Eliom\_parameter.param\_name -\>** **value:int32 -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of int64 \] Eliom\_parameter.param\_name -\>** **value:int64 -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of float \] Eliom\_parameter.param\_name -\>** **value:float -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Set of 'a \] Eliom\_parameter.param\_name -\>** **value:'a -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:string -\>** **value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.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:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val string\_radio\_required* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`One of string \] Eliom\_parameter.param\_name -\>** **value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

*val int\_radio* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of int \] Eliom\_parameter.param\_name -\>** **value:int -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val int32\_radio* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of int32 \] Eliom\_parameter.param\_name -\>** **value:int32 -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val int64\_radio* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of int64 \] Eliom\_parameter.param\_name -\>** **value:int64 -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val float\_radio* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of float \] Eliom\_parameter.param\_name -\>** **value:float -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val user\_type\_radio* :  **('a -\> string) -\>** **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:\[ \`Radio of 'a \] Eliom\_parameter.param\_name -\>** **value:'a -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val raw\_radio* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **?checked:bool -\>** **name:string -\>** **value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

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

*val string\_button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< string Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:string -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val int\_button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< int Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val int32\_button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< int32 Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int32 -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val int64\_button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< int64 Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:int64 -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val float\_button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< float Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:float -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val user\_type\_button* :  **('a -\> string) -\>** **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< 'a Eliom\_parameter.setone \] Eliom\_parameter.param\_name -\>** **value:'a -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val raw\_button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **button\_type:\[\< \`Button \| \`Reset \| \`Submit \] -\>** **name:string -\>** **value:string -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val button* :  **?a:Html5\_types.button\_attrib Eliom\_content.Html5.attrib list -\>** **button\_type:\[\< \`Button \| \`Reset \| \`Submit \] -\>** **Html5\_types.button\_content Eliom\_content.Html5.elt list -\>** **\[\> Html5\_types.button \] Eliom\_content.Html5.elt**

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

*val textarea* :  **?a:Html5\_types.textarea\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\> unit -\> \[\> Html5\_types.textarea \] Eliom\_content.Html5.elt**

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

*val raw\_textarea* :  **?a:Html5\_types.textarea\_attrib Eliom\_content.Html5.attrib list -\>** **name:string -\>** **?value:string -\> unit -\> \[\> Html5\_types.textarea \] Eliom\_content.Html5.elt**

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

*type* **'a** *soption* =  **Html5\_types.option\_attrib Eliom\_content.Html5.attrib list \* 'a \*** **Html5\_types.pcdata Eliom\_content.Html5.elt option \* bool**

*type* **'a** *select\_opt* =\
  \| Optgroup **of** **\[ \`Accesskey** **\| \`Class** **\| \`Contenteditable** **\| \`Contextmenu** **\| \`Dir** **\| \`Disabled** **\| \`Draggable** **\| \`Hidden** **\| \`Id** **\| \`OnAbort** **\| \`OnBlur** **\| \`OnCanPlay** **\| \`OnCanPlayThrough** **\| \`OnChange** **\| \`OnClick** **\| \`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** **\| \`OnVolumeChange** **\| \`OnWaiting** **\| \`Spellcheck** **\| \`Style\_Attr** **\| \`Tabindex** **\| \`Title** **\| \`User\_data** **\| \`XML\_lang** **\| \`XMLns \] Eliom\_content.Html5.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  **pcdata\_elt option** is not present it is also the value displayed.

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

*val int\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`One of int \] Eliom\_parameter.param\_name -\>** **int select\_opt -\>** **int select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val int32\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`One of int32 \] Eliom\_parameter.param\_name -\>** **int32 select\_opt -\>** **int32 select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val int64\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`One of int64 \] Eliom\_parameter.param\_name -\>** **int64 select\_opt -\>** **int64 select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val float\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`One of float \] Eliom\_parameter.param\_name -\>** **float select\_opt -\>** **float select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val string\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`One of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

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

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

*val raw\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:string -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val int\_multiple\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`Set of int \] Eliom\_parameter.param\_name -\>** **int select\_opt -\>** **int select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val int32\_multiple\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`Set of int32 \] Eliom\_parameter.param\_name -\>** **int32 select\_opt -\>** **int32 select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val int64\_multiple\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`Set of int64 \] Eliom\_parameter.param\_name -\>** **int64 select\_opt -\>** **int64 select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val float\_multiple\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`Set of float \] Eliom\_parameter.param\_name -\>** **float select\_opt -\>** **float select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val string\_multiple\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:\[\< \`Set of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

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

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

*val raw\_multiple\_select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **?required:Html5\_types.pcdata Eliom\_content.Html5.elt -\>** **name:string -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

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

*val a\_for* :  **'a Eliom\_parameter.param\_name -\> \[\> \`For \] Eliom\_content.Html5.attrib**

*val raw\_form* :  **(\[\< Html5\_types.form\_attrib \], \[\< Html5\_types.form\_content\_fun \],** **\[\> Html5\_types.form \])** **plus**

Creates an untyped form.

*val form* :  **?absolute:bool -\>** **?absolute\_path:bool -\>** **?https:bool -\>** **?a:Html5\_types.form\_attrib Eliom\_content.Html5.attrib list -\>** **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 -\> Html5\_types.form\_content Eliom\_content.Html5.elt list) -\>** **\[\> Html5\_types.form \] Eliom\_content.Html5.elt**

This is an alias to  to avoid the untyped  **Eliom\_content.Html5.D.form** .

*val input* :  **?a:Html5\_types.input\_attrib Eliom\_content.Html5.attrib list -\>** **input\_type:\[\< \`Button** **\| \`Checkbox** **\| \`Color** **\| \`Date** **\| \`Datetime** **\| \`Datetime\_local** **\| \`Email** **\| \`File** **\| \`Hidden** **\| \`Image** **\| \`Month** **\| \`Number** **\| \`Password** **\| \`Radio** **\| \`Range** **\| \`Reset** **\| \`Search** **\| \`Submit** **\| \`Tel** **\| \`Text** **\| \`Time** **\| \`Url** **\| \`Week \] -\>** **?name:\[\< string Eliom\_parameter.setoneradio \] Eliom\_parameter.param\_name -\>** **?value:string -\> unit -\> \[\> Html5\_types.input \] Eliom\_content.Html5.elt**

This is an alias to to avoid the untyped  **Eliom\_content.Html5.D.input** .

*val select* :  **?a:Html5\_types.select\_attrib Eliom\_content.Html5.attrib list -\>** **name:\[\< \`One of string \] Eliom\_parameter.param\_name -\>** **string select\_opt -\>** **string select\_opt list -\>** **\[\> Html5\_types.select \] Eliom\_content.Html5.elt**

This is an alias to to avoid the untyped  **Eliom\_content.Html5.D.select** .
