Joomla JForm Field Types
Searching over the internet for the field types list for Joomla, I haven’t found any specific place where a whole list could be found. As a result, I decided to write this post to provide a comprehensive list of JForm fields for Joomla.
JForm is a robust framework for form creation and validation that is integrated into the popular content management system Joomla (CMS). It permits the creation of custom form fields and forms within your Joomla extension. JForm fields are produced through the use of XML files that define the field type, name, label, choices, and validation rules.
There are indeed a lot of field types available in Joomla, but you can programme a specific one if you don’t find your desired type.
Accesslevel
<field name=”access” type=”accesslevel” label=”ACCESS_LEVEL_LABEL” description=”ACCESS_LEVEL_DESC” class=”span8″ size=”1″ />
Cachehandler
<field name=”cache_handler” type=”cachehandler” default=”” label=”CACHE_HANDLER_LABEL” description=”CACHE_HANDLER_DESC” filter=”word”>
</field>
Calender
<field name=”created_date” type=”calendar” label=”CALENDER_LABEL” description=”CALENDER_DESC” class=”inputbox” size=”19″ format=”%Y-%m-%d %H:%M:%S” filter=”user_utc” />
Category
<field name=”catiegoryd” type=”category” extension=”com_content” label=”CATEGORY_LABEL” description=”CATEGORY_DESC” class=”inputbox”>
</field>
Checkbox
<field name=”checkbox” type=”checkbox” class=”inputbox” label=”CHECKBOX_LABEL” description=”CECKBOX_DESC” value=”true” filter=”boolean” />
Checkboxes
<field name=”fruits” type=”checkboxes” class=”inputbox” label=”CHECKBOXES_LABEL” description=”CHECKBOXES_DESC” value=”true” filter=”boolean”>
<option value=”apple”>Apple</option>
<option value=”orange”>Orange</option>
<option value=”banana”>Banana</option>
</field>
Color Picker
<field name=”colorpicker” type=”color” default=”#ccc” label=”COLOR_PICKER_LABEL” description=”COLOR_PICKER_DESC” />
Componentlayout
<field name=”clayout” type=”componentlayout” extension=”com_user” view=”register” label=”COMPONENT_LAYOUT_LABEL” useglobal=”true” description=”COMPONENT_LAYOUT_DESC” />
Language
<field name=”language” type=”contentlanguage” label=”LANGUAGE_LABEL” description=”LANGUAGE_DESC” class=”inputbox”>
<option value=”*”>JALL</option>
</field>
Contenttype
<field name=”ctypes” type=”contenttype” description=”CONTENT_TYPE_DESC” label=”CONTENT_TYPE_LABEL” multiple=”true” />
Databaseconnection
<field name=”dbtype” type=”databaseconnection” label=”DATABASE_TYPE_LABEL” description=”DATABASE_TYPE_DESC” supported=”mysql,mysqli,postgresql,sqlsrv” filter=”string” />
Editor
<field name=”description” type=”editor” buttons=”true” hide=”pagebreak,readmore” class=”inputbox” filter=”JComponentHelper::filterText” label=”DESCRIPTION_LABEL” description=”DESCRIPTION_DESC” />
<field name=”email” type=”email” class=”inputbox” label=”EMAIL_LABEL” description=”EMAIL_DESC” required=”true” size=”30″ validate=”email”/>
File
<field name=”file” type=”file” label=”FILE_LABEL” description=”FILE_DESC” size=”25″ accept=”image/*” />
Filelist
<field name=”filelist” type=”filelist” default=”” label=”FILELIST_LABEL” description=”FILELIST_DESC” directory=”libraries/joomla/form/fields” filter=”” stripext=”” exclude=”” />
Folderlist
<field name=”folderlist” type=”folderlist” default=”” label=”FOLDERLIST_LABEL”description=”FOLDERLIST_DESC”directory=”administrator” filter=”” stripext=”” exclude=”” />
Groupedlist
<field name=”languages” type=”groupedlist” default=”” label=”GROUPED_LIST_LABEL” description=”GROUPED_LIST_DESC”>
<group label=”Desktop”>
<option value=”java”>Java</option>
<option value=”cplus”>C++</option>
<option value=”vb”>VB</option>
</group>
<group label=”Web”>
<option value=”php”>PHP</option>
<option value=”cf”>Cold Fusion</option>
</group>
</field>
Headertag
<field name=”htag” type=”headertag” default=”h4″ label=”HEADER_TAG_LABEL” description=”HEADER_TAG_DESC”/>
Helpsite
<field name=”helpsite” type=”helpsite” label=”HELPSITE_LABEL” description=”HELPSITE_DESC”>
<option value=””>JOPTION_USE_DEFAULT</option>
</field>
Hidden
<field name=”catid” type=”hidden” filter=”unset”/>
Imagelist
<field name=”imagelist” type=”imagelist” default=”” label=”IMAGE_LABEL” description=”IMAGE_DESC” directory=”images” exclude=”” stripext=”” />
Integer
<field name=”integer” type=”integer” default=”” label=”INTEGER_LABEL” description=”INTEGER_DESC” first=”1″ last=”10″ step=”1″ />
Language
<field name=”language” type=”language” client=”administrator” description=”LANGUAGE_DESC” label=”LANGUAGE_LABEL”>
<option value=””>JOPTION_USE_DEFAULT</option>
</field>
List
<field name=”fsecond” type=”list” label=”LIST_LABEL” description=”LIST_DESC”>
<option value=””>SELECT_FRUIT</option>
<option value=”apple”>APPLE</option>
<option value=”banana”>BANANA</option>
<option value=”mango”>MANGO</option>
</field>
Media
<field name=”image” type=”media” directory=”story” hide_none=”1″ label=”_IMAGE_LABEL” size=”40″ description=”IMAGE_DESC” />
Menu
<field name=”menutype” type=”menu” label=”MENU_LABEL” description=”MEU_DESC” class=”inputbox” required=”true” size=”1″ />
Menuitem
<field name=”menuitem” type=”menuitem” label=”MENUITEM_LABEL” description=”MENUITEM_DESC” required=”true” />
Password
<field name=”password” type=”password” autocomplete=”off” class=”inputbox validate-password” description=”PASSWORD_DESC” filter=”raw” label=”PASSWORD_LABEL” size=”30″ validate=”equals”/>
Radio
<field name=”title” type=”radio” class=”btn-group” label=”TITLE_LABEL” description=”TITLE_DESC” labelclass=”control-label”>
<option value=””>JGLOBAL_USE_GLOBAL</option>
<option value=”0″>JHIDE</option>
<option value=”1″>JSHOW</option>
</field>
Rules
<field id=”rules” name=”rules” type=”rules”label=”RULES_LABEL” description=”RULES_DESC” translate_label=”false” filter=”rules” validate=”rules” class=”inputbox” component=”com_users” section=”component”/>
Sessionhandler
<field name=”sessionhandler” type=”sessionhandler” default=”none” label=”SESSION_HANDLER_LABEL” description=”SESSION_HANDLER_DESC” required=”true” filter=”word” />
Spacer
<field name=”buttonspacer” label=”SPACER_LABEL” description=”SPACER_DESC” type=”spacer” />
Tag
<field name=”tags” type=”tag” label=”TAG_LABEL” description=”TAG_DESC” class=”inputbox” multiple=”true”>
</field>
Tel
<field name=”phone” type=”tel” id=”phonenum” description=”PHONE_DESC” filter=”string” label=”PHONE_LABEL” size=”30″ required=”true” validate=”tel”/>
Text
<field name=”text” type=”text” class=”inputbox” size=”40″ label=”TEXT_LABEL” description=”TEXT_DESC” required=”true” />
Textarea
<field name=”address” type=”textarea” class=”inputbox” rows=”4″ cols=”25″ label=”ADDRESS_LABEL” description=”ADDRESS_DESC” />
Timezone
<field name=”timezone” type=”timezone” default=”UTC” label=”TIMEZONE_LABEL” description=”TIMEZONE_DESC” required=”true”> <option value=”UTC”>JLIB_FORM_VALUE_TIMEZONE_UTC</option>
</field>
Url
<field name=”url” type=”url” class=”inputbox” filter=”url” label=”URL_LABEL” description=”URL_DESC” required=”true” validate=”url” />
User
<field name=”created_by” type=”user” label=”CREATED_LABEL” description=”CREATED_DESC” />
Usergroup
<field name=”usergroup” type=”usergroup” default=”0″ description=”USER_GROUP_DESC” label=”USER_GROUP_LABEL”size=”12″>
<option value=”0″>USERS_GROUPS</option>
</field>
It should be noted that some field types are only available in Joomla 3.x and later editions, and some of them may not be available in earlier versions.