Home > Form Elements > Select
In Brief: Users select a choice from a drop down menu. List values can be hand created (static) or dynamic via the time-saving Dynamic Query method. Running a dynamic query means instead of creating all values by hand, you query your database and return the values from the query. This has the advantage of saving a huge amount of time, and being much easier to maintain and update.
Dependencies: none.
Hints & Tricks: Your select options cannot contain HTML code.
Any dynamic query items are placed after the hand coded values. Thus, you can safely mix static and dynamic values.
Validation for Required Fields -- If you want your select field to validate properly as a required field, you must leave the first field untouched with the default value of -- SELECT --
If you change the value or otherwise type in this field, the html value property will no longer be blank, and will thus validate as being filled out even though the selected item is set to -- SELECT --.
This restriction will be relaxed in a future version of FormBoss.
Drive one select item with another (via AJAX): A popular bit of tech is to have one select box drive the options of another box. For example, one select box has 'vehicle makes', and based on which make a user selects, you will populate a second 'vehicle models' select item that only contains matching models from that maker. You will find a sample job that shows how to do this at:
\formboss\goodies\Sample Jobs\AJAX\ajax-request.xml
Order of precedence hints
As select fields have so many ways to populate values,
it's important to note that mixing population types follows, as of Build 706, this general rule: the higher in the editor the option is, that's how the final select option will be populated. Thus, the values placed in Item Options/AJAX Bindings show first, followed by: Select Item Text Based List, Multi-Item Range Options, and finally, Database driven items.
Options/Properties
Basic Attributes
Label
Type the text you want to appear above or to the side of the form element. This is also the value of the text displayed in the FormBoss Result Browser and Email messages.
The label field supports local PHP variables if they are wrapped in PHP tags and echo'd out as: <?php echo $val; ?>
Please note that only local variables are supported, $_SESSION variables must be bound to local variables in the PHP Top Code or PHP Head Code section first.
As of Build 693 the functionality of this item has been expanded to support dynamic tokens for E-Commerce items. Please see the in-editor tooltip (located just above this field), for specifics.
As of Build 701, this field now also accepts the standard FormBoss 2 token set for form field labels. Please see the in-app tooltip for exact values to use.
As of Build 705, this field now accepts the standard FormBoss 2 token set for Section/Headline Text and Body Copy elements. That is, we used to only be able to use the @{value} token, as can now use F{}, S{} and so on.
The 'new' tokens will, by default, transform linebreaks into HTML br tags. This is very handy when we want to display a text area to a user where such line breaks have been added. This ensures the typed value matches, as closely as possible, the display.
Also in Build 705 is the 'raw' field token: FR{field_name}. This token was created because by default, when we use a F{} token for say, text1, we are actually creating the following code:
<?php if(isset($_SESSION['qs']["{$_SESSION['entry_key']}"]['text1'])) { echo "{$_SESSION['qs']["{$_SESSION['entry_key']}"]['text1']}"; }?>
That is, a full (but inline) PHP block. This makes it impossible to create custom logic in a Body Copy or Section Text block, as the open and close PHP blocks break any such custom code.
Thus, the raw token only places the raw field value into the text data, nothing more. The same text1 item now looks like:
$_SESSION['qs']["{$_SESSION['entry_key']}"]['text1']
That is, no PHP block, and no isset().This means we could, for example, create the following logic in a Body Copy element:
<?php
if(isset(FR{text1}) && FR{text1} != "") { ?>
I want to hide this Bodycopy if @{text1} is empty ?
<?php } ?>
Name/Value
This element is set by FormBoss automatically, though it is recommended to change this value if you decide to display Javascript validation messages, as the 'identifying' text of the error is the value of this field.
This value is displayed by default if no 'Label' attribute is assigned to the element. For technical users, this element name is in fact the same as the Name/Value html form attribute of this element.
You will also notice that if you change the name of this field, the id attribute to the immediate right of this element also updates with the same value. This is because in most cases you should keep the same value for both elements--however, you can use a different value, simply type in the id field separately.
Naming Convention Note: The only valid punctuation for the Name/Value and id fields is the underscore _. Use of any other character will cause the form to fail.
id
By default is assigned the same value as the Name/Value element, though you can change this to a more field specific value. Not necessary for most applications. For technical users, this is the id attribute of the field item.
Helper Text
This text displays on the bottom of the field item. By default, the text is 7pt and light grey #888888. You can change the elements color in the FormBoss editor, but the font size must be changed in the jobs formpage.css file.
Default Value
[Only used with text element such as text box and text area]
Any pre-assigned values for this element should be typed into this box. At run-time this value is automatically populated into the field item.
You can use PHP variable names in this field, simply include the variable name enclosed in braces as in: {$random_variable}
There are a few special considerations with using PHP variables in this field:
1. Always wrap the full variable in braces.
2. You cannot execute functions in this block, only variables.
3. $_SESSION variables must use single quotes as in {$_SESSION['variable']}, not double quotes as in {$_SESSION["variable"]}
4. All variables are passed through htmlentities($variable, ENT_COMPAT), which means any double quotes are turned into "
Field Width
In pixels units, the height of the field item. Default of 140 for text boxes and 200 for text areas.
Field Height
In pixels, the width of the field item. Default of 70.
TinyMCE Editor
[Text area only]
Adds a TinyMCE Rich Text Editor to the text area.
Select from three TinyMCE preset configurations:
Simple Editor - Provides basic text controls.
Text Heavy - Provides ~13 text editing tools plus a slew of editing control such as undo.
FromBoss Style - Creates the same suit of text editing tools used in the FormBoss Editor.
* Please be aware that at this time the Display Field Count validation property has no effect on text areas that use TinyMCE. You can still set a maximum character count, but this value will only be validated at the time of the forms submission via PHP, not JavaScript.
** You can only use 1 style of TinyMCE text editor per form page. The text area that comes first in the form will determine which TinyMCE text editor configuration is used.
Wrapper Class Name
Every field element in FormBoss is wrapped in either a LI or DIV element for Sortable or Free Form page types, respectively. When you place a value in this box it becomes the class="" attribute for that wrapper. Because a wrapper encompass both the input element and wrapper, you can use this value to show and hide sections of your form.
Extra Attribute(s) JS Etc - Formerly known as [ Extra Attribute(s) JS Style Etc ]
Although similar to a submit button, a button has an html type of 'button', not type=submit, which means when this element is clicked on,
your form will not be submitted, but rather you must supply the event to occur.
A common use of this type of element would be to attach a history command such as onclick="history.back()", and then use it on a multi-form page to make navigating back one page easier than using text links.
Add code to your field item by typing it into this box. Code can be JavaScript event code such as:
onclick="alert('Be sure to use Letters only');"
External Library dependent code as in: (Prototype/Scriptaculous example)
onclick="Effect.Fade(this, { duration:.2});"
What's important to note is that the code you create here effects the field element, not the container it sits in. To edit the field container, you need to reference the field name prefixed with 'fb_fld-', as in a text box with an ID of text1 would be referenced like:
fb_fld-text1
Extra Input Field Style Attributes
New to Build 683, this field allows us to define extra style attributes for our form elements such as:
Or Style definitions as in:
style="color:#cdcdcd;"
It is important to note that in older versions of FormBoss we would have applied styles to the Extra Attribute(s) JS Etc field.
Finally, it is also important to consider that FormBoss also applies style data, traditionally as:
font-size:12px; color:#444444; font-family:inherit; width:200px; height:70px;
In short, font properties and height/width are handled automatically via editor properties.
Conditional Processing
Field Initially Visible?
Determines if the form element is visible when the page first loads. Please note that this logic always resets on page load, that is, if a user goes back one page where an element was previously shown it will be invisible again.
Easy Toggle?
Checking this box means FormBoss will automatically handle the logic needed to perform the opposite action you set in Then... and If This Field Is: properties. For example, if you set the action of an item to be 'Show', if the condition needed to make this show acton happen is revoked, the opposite action will automatically happen for you. So, if the condition is the text '1' must be set in a text box in order to show a second text field, if this 1 is removed or changed, the second text box will be hidden again.
In general we want to keep this box checked, though if you wanted to force a field to always show after an action then leave it unchecked.
Field Validation Method
New in Build 717, this option allows us to set the behavior of how conditional items will be validated when hidden.
By default, when we set an item to be hidden and required FormBoss will still process the invisible item as if it were shown to the user. With this new option we can override this behavior to tell FormBoss that any item that's hidden and set with Field Only Validates When Visible should, as the option name states, only trigger validation errors when visible.
The trick with this is from a security standpoint it's possible to create a script that exploits this behavior such that no fields would be required. However, the FormBoss implementation is such that only fields set with the property are able to be 'bypassed' via normal validation methods.
The end result then is if we're building a form that needs to have required fields, but those fields are hidden unless a user triggers a condition to show them, to enable this mode for that field, and of course any others that require it.
By default FormBoss will still validate all fields unless told otherwise. This maximized security while providing a way to create smarter forms.
Event Trigger
This is the JavaScript event that will be scanned for and then acted upon if activated. Some events are better than others for the various tasks you have. For example, the onClick event is perfect for Checkboxes, whereas the onKeyUp event is perfect for text boxes where a user needs to enter a specific value. Experiment with these values and have fun!
Caution! You may run into a situation where you build a form that enables the event trigger on a specific field, then remove that field later on without updating the Event Trigger's 'binding' to that element.
If this happens your forms validation will break, along with other potential issues.
The solution is always make sure that when we enable an event trigger for an element, that field exists on the form.
Animation?
While not always needed, if you want you can add animation using Prototype JS to your events. The upside of this is your forms may have a more professional appearance, the downside is the extra bandwidth needed to send the Prototype JS library over the wire to run the animations. However, if you are already using animation or have included the Prototype JS library for other purposes, this bandwidth cost is obviously negated, so animate away!
If This Field Is:
This is the core property of the Conditional Processing logic. In most cases you will only want to show and hide fields if a specific condition is met, this option allows us to set that condition. As with the Event Trigger property, some options only make sense in the proper context. For example, the top Value Comparison grouping is best served in combination with text and select fields, whereas the Field State options of Checked and Unchecked only make sense for checkboxes.
It is also important to note that FormBoss will attempt to cast comparison values set as INT and FLOAT values to their respective native types.
This Value...
When we set the If This Field is property, with the exception of the two Field State checks of Checked and unchecked, we typically want to compare against some value. It is in this text box that we set that comparison value. FormBoss will automatically attempt to detect FLOAT and INT values when testing against GREATER THAN and LESS THAN checks.
Then:
If the condition set in If This Field Is and This Value... passes, this is the action we will perform. Please note that is Easy Toggle? is enabled, we will automatically perform the opposite when the check fails.
This Field Or...
When we set an event, comparison, and action, the last step is to tell FormBoss which fields to act upon. It is in this field and is close relative, This Wrapper Class, that we set this field or fields.
As you build your form FormBoss will automatically track the Name/Value properties of the elements on that form page and then present them to you in list format in this field. Thus, all eligible form fields will be displayed in this select item, the one you select will become the field acted upon.
Finally, any elements that are set to hidden on page load are tagged with a [H], which makes it easy in many cases to see which items you may need to work with.
This Wrapper Class
Similar to the This Field Or... property, with the exception that instead of single field we can act upon all elements with the same Wrapper Class attribute. This makes it very easy to show and hide large portions of content with one action, perfect for address fields and the like.
Custom Conditional Field Statement
Although FormBoss tires to automate as much of the show/hide process as possible, their will be times when you need to have more complex logic.
When this is the case, we can use the simple FormBoss API to create custom logic.
The bulk of this logic will be derived from a JavaScript object called fbc, which stands for FormBoss Conditional. This object is defined in:
/formboss-root/app/movefiles/conditional.js
Which is exported into the root of all FormBoss jobs.
The basic usage of this object will depend on what action you want to perform. That said, their are 4 methods you need to know about:
hideField, hideWrapper, showField, showWrapper
As shown in the editor, we call these methods as:
fbc.showField(event, 'FieldName', 'animation');
With a simple example to show a text box being:
if(value == '1'){
fbc.showField(event, 'text2'); // animation argument is optional, event is not!
}
Simple enough--But it is important to understand that at the page code level FormBoss creates two distinct but related items.
The first is the event trigger which is placed inline with your form element. Please be aware the event used is not created automatically, you need to select one from the Event Trigger select item.
Thus, if we select the onKeyUp event FormBoss will place this code inline with your element:
onkeyup="fb_dyn_text1(event, this.value, this)"
Notice we have three arguments. This is important because the inline method call is directlly tied to the second main element FormBoss creates for you, which is a script tag with that methods definition.
This method looks like:
function fb_dyn_text1(event, value, elt){
if(value == '1'){
fbc.showField(event, 'text2');
}
}
As you may now see, this method body is the code you create in the Custom Conditional Field Statement text area. The reason why it is wrapped in the method is to that you do not need to worry about creating or gathering the event, value, and elt parameters.
Thus, the last bit of knowlegde to convey is that these paramters, event, value, and elt, can be used in any way you need in your Custom Conditional Code. Most of the time you will only need the value parameter for your logic, but please notice you must pass event to the fbc functions no matter what.
Callbacks
New in Build 711, we now have a callback that's fired after an animation plays:
animationDone(elt)
We use this callback inline with our Conditional Code block as in:
fbc.animationDone = function(elt){
alert(elt.id);
// when animation is done, call resize function for iframe
window.parent.resizeSubForm(getOutputSize());
}
That is, we call fbc.animationDone(elt), then in that function, define the actions to take place.
The elt parameter is the object that called the animation, that is, is the object which reacted to the event.
Please note this event is fired for every animation that plays. Thus, if we've used this in the content of a Wrapper Class with say, 5 elements, this function is called 5 times.
Datasource
Dynamic Query
You must set this to Yes if you need to run a dynamic query on this item. Running a dynamic query means your list values will be populated by this query, so be sure to only use one column in your SELECT statement*.
*UPDATE: As of build 634, you can now use two columns in your SQL select statement. One column queries are fully backwards compatible, and if used you do not need to do anything extra--simply create your query as normal.
If you would like to use two column queries you must be careful of the order of the field list. The first column given in your Source SQL will be used as the display name of the field, the second column will be set as the value. Only the value is transferred through the system and given as a variable to your confirmation page elements, in other words, the option text is for display purposes only.
DB vendor
Choose the database vendor you will be connecting to for the dynamic query.
Source SQL
Source SQL is the query to run on the select item. Can be inline sql, a stored procedure call, or a 'prepared statement' SQL string.
A simple query might look like:
SELECT make from cars
An example of a MSSQL/MySQL stored procedure call with no parameters would like this:
call sample_proc
A MSSQL/MySQL stored procedure call with one 'int' parameter would look like so:
call sample_proc(10)
To use a non-integer as a parameter surround it with single ticks as in:
call sample_proc('hi')
To load several parameters use:
call sample_proc(1, 'matt')
More on calling MSSQL stored procedures here. More on MySQL stored procedures.
Prepared Statement SQL String means we use inline variable(s) in the SQL code to pass dyanmic values. We do so as in the rest of FormBoss, by using quesiton marks (?) in place of actual values. We then define the value of these placeholder values via the Source SQL Parameters block, defined below.
It's imortant to note this functionality is only used for text fields when using Auto Suggest logic, and for Select items.
Source SQL Parameters
This field lets us define the parameters to pass to the database query when using prepared statements. This means our SQL block will contain code that has placeholders in the form of question mark characters, for each of those items we define the value here.
These values must be standard FormBoss tokens, which are defined in the Datasource tooltip.
Default Select Value (Select, Radio, and Checkbox items only)
New to Build 705, this value will be passed to the select item creation/population logic, and if a value (match) is found with the incoming data, and provided we do not already have a user-selected value defined, this value will become the select items default value.
This value can take one of two forms:
1. Token: We can use the standard FormBoss 2 token set to drive this field. This means: S{}, F{}, G{}, P{}, and ${}.
2. Simple String: Sometimes we do not want to use a dynamic value to set the default value, but rather just a known string. For example, we create a dynamic drop down list of states, and as the form will be mainly used by citizens in Washington State, we set that as the default value.
DB Host Name
The host of your SQL provider - could be 'localhost', an ip address, or a server/instance name.
Please note that for MSSQL we only use one backslash (\) to separate the server/instance.
Database Name (formerly known as: DB Schema Name)
The Database catalog you wish to query.
DB User Name
Database user name
DB Password
The password for this database connection.
DB Socket
Can usually be left blank, as the socket setting will be defined by the server. However, some server are not properly configured, and in those cases we may need to manually specify the socket path.
DB Port
Much like DB Socket, this value generally needn't be set. However in those cases where needed, the port value is set here.
DB DSN
New to Build 710, this option is only used for ODBC connections.
At the most basic level, if we've set up a DSN in say, The MS Windows Data Sources (ODBC) application, this value can just be the DSN name. If we do not have a DSN, this value can also be a driver definition block (connection string), which for MS Access would be similar to:
Driver={Microsoft Access Driver (*.mdb)};Dbq=mdbFilename
Other ODBC datasources will use different connection strings.
DB Connector File
If you input an absolute path into this box, FormBoss will use that file for all database connection information for this query.
Apply Settings To All Datasource Items...
New to build 695, this handy little button copies
the current fields datasource settings to all datasource enabled fields in the job.
This is a big time-saver when we have many datasource items in the job that require the same settings.
A note on connections
If you leave all fields blank and simply supply a SQL call in the SQL Source field, FormBoss will by default include the movefiles/config.php file. By default, this file is populated with the FormBoss Schema connection info.
If you provide a value to the DB Connector File field, the config file is not moved to your final job folder and connection info comes from that file.
Finally, if you use inline connection information, that will be used in the absence of any other fields. in short, the connection variable precedence is:
1) DB Connector File
2) config.php
3) inline variables
SQL Debug Mode
Enabling debugging will show error messages for your queries.
Please note that for SELECT items you will need to view the page's source code (usually done by right clicking on a blank part of the page and selecting view source) to see any error messages. This is because the error messages are embedded in the SELECT items options field, which will not show in html.
Field Style Properties
Element z-index
New to Build 697, this feature allows us to set the z-index of most items. This property is reflected in the editor as well, making positioning items much more streamlines than in previous versions.
By default most items, with the exception of calendar fields, have a base index of 1. This means so long as your form fields to not overlap you will not need to set this property. However, some fields, such as images or those with popup's (like the calendar field), benefit from setting a different layering order.
Text Color
Click into the box to load the color selector. Drag your cursor over the saturation in the main box to select the color intensity, or drag the hue slider to change color.
Input Text Color
New to FormBoss 2, this field lets you set the input fields color.
Font Size(px)
Type a number in this box to change the font size of the element.
Label Font Weight
New to Build 685, this option lets us set the font weight of the forms field label or main text block.
Field Spans Both Columns In Table Layout
New to build 704, when enabled this option lets the form element in question span both columns in a tablemode layout.
Notes: As of now the only fields to use this option are Section Text, Body Copy, Images, and Separators.
Label Position
Has no effect for this field. Might be implemented in later versions.
Input Inherits Font Size and Family
New to FormBoss 2, this field lets you set the
input elements input font and size to match the label field.
Validation
For example, the default behavior of a field that is marked as required is to, when filled in improperly, highlight the field with a color you choose in the Page Properties Form Error Color. In other words, you set the field as required in the elements field properties, but you control the color of the error highlight in page properties.
For more information on what properties you can edit, please see the Form Style Properties and Page Properties of the Sortable and Fee-Form Page types.
Required
Check this box to make this field a requirement for successful form submission.
Required Star Color: In some instances you will want to change the color of the required star. To do so you can use one of two techniques:
Technique 1. Permanent change: Navigate to the formboss/app/movefiles/ folder and open the formpage.css file and look for the .req-star class definition. You can then change this color to fit your jobs needs. This change is permanent because every job you export will now use this style sheet file and definition.
Technique 2. Per Job Change: Click on the page header to bring up that page's attributes, then add the following style definition to the Page Javascript/Head Code code area:
<style type="text/css">
.req-star { color:#dedede; }
</style>
This will override the style definition in the formboss.css file and use the color you specify.
Min
The minimum number of characters this field must possess. Validates if the field is required or not.
New in Build 706, for checkboxes, this is the minimum number of items that must be checked for the field to be valid. To set a specific number, set the min and max values to the same value.
Max
The maximum number of characters this field can contain. Validates if the field is required or not. If you wish to limit the number of characters a user can type, specify that value in this field. The user will not be able to enter more characters specified by that value.
For checkboxes, this is the maximum number of items that can be checked.
Regex Validation Rule
This is the Regular Expression rule to apply to this field. Used in required fields only. Choose from No Rule, Custom Rule, and a series of preset rules.
If you choose Custom Rule, you will be given a 'Custom Regex' box to populate with your own expression (please note only one expression can run on each element).
For example, you could use this to validate $45.23:
^\$[0-9]+(\.[0-9][0-9])?$
or without the dollar sign as in 45.23:
^[0-9]+(\.[0-9][0-9])?$
Same As
[Only used for Text and password fields] If populated, this element and the one specified must match to validate. Only effective if the field is required (the must match field need not be specified as required). Effective for user password and email address validation.
Validation Error Message
Type a custom message for validation here, in the event you select a 'Regex Rule' for the field. All other validation messages are handled by FormBoss.
Display Count Fields
[Only used for textarea elements] Select from No Counting, Words, or Characters. Select Words or Characters to display a Javascript based character/word counter at the base of your text area element. This item works in conjunction with the Max validation field, though if no value is set it defaults to 500 characters.
Multi-Item Range Options
New in Build 667, this feature allows you to easily create a range of values FormBoss populates your select items with. This is very handy for creating ranges of values such as years or letter values without having to type each individually.
Their are two main ways to create this range of values:
PHP Range() Expression
The core PHP language features a function range() which allows you to specific a range of values by only setting the upper and lower limit of the range to create. For FormBoss, we want to specify the range function (expression) as:
range(0,12)
With nothing else added to the front or back of the function call.
Range Source Array
This method allows us to use a custom built array to populate the range values. The array can by one or two dimensional as in:
Range Default Value
New in Build 669, this
item lets us define what the default value for this item will be from the list of dynamic range items. Please note that the conditional test assumes text value, which in PHP means simple numbers (ints) should work as expected. However, care should be taken when trying to use more complex numbers.
Please also note this check is done on the value element of the array, not label!
One Dimensional:
$single = array(1,2,3);
Two Dimensional:
$double = array(array('1','one'), array('2','two'), array('3','three'));
Using a one dimensional arrays means your select item will have the same name and value property.
A two dimensional array means that the first element of each sub-array item is the label, the second is the value. So for example, the array above would show the numeric 1,2, and 3 for the display, while the text 'one', 'two' and 'three' will be the values.
With the array built (usually in the PHP Top Code block), we then put the name of the array variable in the Range Source Array text box. So for example, using the arrays above as our source, we would put either $single or $double in the text box.
Item Options/AJAX Bindings
Click the Green + to add a field, the Red X to remove a field, and the Blue Check Mark to make that field the default. Radio items can only have one 'default' selection.
Be aware that by default, the first option to come in 'Add a radio option' has a value of 0. Always create a new definition for the first select item!
Options must be plain text, HTML code such as <span> or other related tags will cause the form to fail. This is done for security reasons.
One very handy tip for database driven items: In most cases when we have a database query driving out select item list, we do not want any other values in the selection list. However, you'll notice that by default, FormBoss always creates at least 1 item for you. The trick is that this value is NEVER populated in the real form, it is simply present to let you know that the field needs a value if it is to show. Thus, we must ignore this field if we want the list to be populated exclusively by our database query. If we change the text in any way the field will render. Thus, again, leave this field as is and your form will render as expected, with only your database values.
Dynamic Default Value
New To Build 712, this feature allows us to
set a dynamic value which will, for the select list, be the default for that field until submitted.
Resetting Values To Default - It is important to note that as of Build 702 we now have a way to reset the default value back to being blank. To do so, simply press the Delete button when only one item is showing in the select item list. This will reset the value so that it's label is the default value and it's value property is blank for select items or 0 for radio and checkbox items.
AJAX Bindings Note
This field also handles our AJAX Bindings, which means
in the AJAX workflow, these are the form field items that will be updated with any data retrieved from the AJAX request.
Select Item Text Based List
New to Build 684, this feature allows us to create a simple text-based list of items that turn into our select items when the form is saved.
We can configure the behavior of our elements in a few ways:
First, we can break out the label and value to be different values.We do so by separating the the with a pipe (|) as in:
Option 1|1
Option 2
The first item will have Option 1 for the label (what the select item shows in the browser), and 1 for the html value property.
We can also set the selected item by placing a > in front of the item we want to be the default.
Option 1
>Option 2
In this example Option 2 will be the default option, and will thus show to the visitors by default.
Select Item Options
Use Multiple Select
This checkbox allows us to turn our standard drop down item into a multi-select one. Thus, when checked, users will be able to select multiple items from the select item as opposed to the standard single item.
Please keep in mind though that if we do enable this option the item, as seen by FormBoss, becomes an array based one instead of text. For the most part this change should be transparent for most uses, though for others, such as sending this items data to SQL+ or for use in Builder forms, the data will cause issues if we try to treat it as standard text.
A second big issue is that if we enable this option, we must also set the Select Size to a number greater than 2, as if we do not, the item will look strange and be unusable in most browsers.
Finally, as of Build 693 this option should respect data entered in the Item Options/AJAX Bindings area, but not items designated in Select Item Text Based List, or dynamic database items. Thus, to be safe, if using those methods to populate the select item options, do not use this option, instead, use a radio or checkbox form item.
Select Size
This option sets the size of the select list. Please note that as of right now the editor UI will not reflect this change, only the final form will. Also, as stated above, this item should always have a number greater than 2, with the default being 1.
Tooltip Options
Tooltip Text
New in FormBoss 2 Build 685, this field lets us add tooltips to our form items.
The standard operating mode is if this field is left blank no tooltip will be shown. It is important to note that when set with any text the jQuery library will be automatically included in your forms output, as well as the text in this box will be shown as the tooltip for that form item. It is important to note this as while Prototype and jQuery play nice together in almosty all cases, should you include Prototype in your forms issues may arise.
One of the most powerful aspects of these toolstips is HTML is fully supported. In fact, this is why this field has a link to expand the editor to WYSIWYG mode.
Finally, please note that at this time checkboxes and radio items do not support tooltips.
Tooltip Effect
Choose the tooltip entry animation.
Tooltip Activation
This item determines the javascript event that shows the tooltip. By default text items are set to show when a text field is clicked on or tabbed to, and when select items are moused over. However, we can change this so all form items are activated with the onmouseover state.
Tooltip Position
The location the tooltip shows relative to the form element.
Relative Position
Related to Tooltip Position, this option allows us to override the default behavior of the tooltip being page relative. The default should work for almost all situations, though some free form pages may benefit from using Relative To Element.
Hide Delay (ms)
The time it takes in milliseconds for the tooltip item to hide. This is most often used when we want to allow users to click active content in the tooltip text.
Opacity
The level of opacity the tooltip possess. By default this is .9, which means 10% transparent.
X Offset
How far away the tooltip is positioned relative to the form element in the x direction (left and right).
Y Offset
How far away the tooltip is positioned relative to the form element in the y direction (up and down).
Background Color
The background color of the tooltip.
Text Color
The color of the text in the tooltip. This can be overridden by using the HTML editor and applying local styles.
Border Color
The color of the tooltip border.
Shadow Color
Applies to Webkit/Mozzila Browsers Only: The color of the tooltip's shadow.