The scripts are written with consideration to robustness, ease of installation and configuration. Where applicable, the code can be used in multiple instances in the same document. No script requires any editing of its supplied code.
Conversely, whenever a satisfactory demonstration leads to a download of our code, it is imperative to us that it results in a successful installation on the intended website.
To this end we undertake to provide a reasonable level of email-based support to anyone having the basic text editing skills required both to install scripts, and to specify relative file paths.
While the less complex scripts are entirely free, for the rest in recognition of the time and effort taken developing and documenting the code and any support that may have been rendered, we expect a gratuity of the user's choice via PayPal. Our receipt of a gratuity in respect of any script, will be understood to mean that the sender has judged the code to be suitable for purpose. This condition is reiterated in the documentation of the relevant scripts. We do not suggest any amount and no transaction takes place.
Anyone unable to agree with the above principle is advised to seek an alternative code source.
Should any long term abuse of our code come to light, we reserve the right to remind users by any available means.
For a further description of each script, click on its heading. To go straight to its demonstration page, double click.
Replaces most common accented characters typed into form fields, with their non-accented equivalent.
Often requested for use with email address fields.
Manage master-slave checkbox groups to check/uncheck/enable/disable multiple boxes simultaneously.
Multiple groups can be configured
A comprehensive solution to a common requirement
Prevents accidental form submission when the Enter key is pressed.
The Enter key just moves the focus to the next element.
Can be configured to skip elements that don't use text entry.
Does not focus Submit or Reset buttons.
A set of encapsulated functions to read and control all aspects of radio buttons and checkboxes.
Saves the content or state of form inputs either in HTML 5 localStorage if available or in a single cookie (subject to the cookie size restriction).
Values of form inputs at the time the form is submitted, are restored the next time the page is loaded.
Supports checkboxes, radio buttons, text fields, textareas, and select boxes of single or multiple option.
Data can be saved per session or persistently.
Often requested when a server side language is not available.
Very easy to install & configure.
Cascaded Select Lists of any Depth
using Array-Based Data Storage.
Multiselect is a dependent dropdown controller that does not use a database. It is best suited for applications in which the option data will not need to be updated regularly.
The intuitive array storage system supports unlimited depth of menus.
Controls multiple groups of dynamic chained select boxes
- Supports multiple independent menu groups, with no limit to the number of <select>s in each.
- De-selected boxes can be hidden.
- Supported by an online WYSIWYG data and code generator, to have you up and running in the time it takes to type-in the option text!
- Isolates the developer from the potential hazards of manipulating source code.
- [Advanced Developers] You can enhance the user experience by executing external code whenever menus are populated, cleared and when a final selection is made.
For maximum versatility, option data can be retrieved from:
- Hard-coded XML data
- Separate XML File
- Dynamic database querying via built-in AJAX routines
- Any combination of the above.
The data generator features an intuitive option editor integrated into a working simulation of the script. As you enter options they become part of the simulation, allowing you to click them to specify the location of sub-options.
There is no easier way to build a complex dependent-dropdown system.
This one is the answer to all linked listbox requirements.
- Multiple rating bars in the same document
- Pre-settable on load
- Configurable for any number of symbols
- Displays any user-supplied graphics
- Interfaces with any form element
- Option to call external functions for AJAX interfacing
Multiple Unique Preference Listboxes - Controls a set of listboxes for selecting order of preference.
As a selection is made in one box, that option is excluded from all the others.
Set a group of one or more select boxes to a uniform size when out of use, regaining their normal width when in use.
Conserves space on the page.
Appends dimensioned copies of form text fields and text area elements immediately after the original field.
- Setting the source of the default content
- Applying focus or text selection
- Limiting the number of creatable fields.
- Appending <br>
New fields can be named either the same as the original, or with a sequential numeric suffix appended.
Appended fields can also be removed, singly or all together.
This script scrolls a page horizontally and vertically just by placing the mouse cursor close to the relevant edge. This can be a great enhancement to your site's operation.
- Scroll speed varies with proximity to the edge
- Configurable for width of active boundary and maximum scroll speed
- Works on horizontal & vertical axes
- Prevents false triggering by ignoring a fast-moving cursor
- Does not interfere with scrollbar operation
The often-requested div-scrolling buttons. Can be used on their own or complementary to any other of our div-scrolling utilities. Configurable for vertical, horizontal or diagonal scrolling by fixed amount or by percentage.
When a configured image is clicked, this utility reads the cursor position relative to the top left corner of the image, then passes the data to any other script via a user-supplied function.
Configured images can be arranged either into a single group all calling the same user function, or into separate groups.
Returns accurate data even when an image is contained within a scrolled div.
Displays full size captioned images triggered from disjointed rollovers of thumbnail images or links.
Supports multiple displays in the same document.
Configurable to select either by hover or click.
Features support for stepping buttons and look-ahead image pre-loading.
Same-element or disjointed image map rollover image swapping.
Provides an extremely easily configured solution to setting-up rollover image swaps, that are triggered by hovering image map areas.
Swapping can take place either on the image placeholder hovered, or a separate image (Disjointed Rollover).
Hover any element to display an image enclosed in a floating div adjacent to the cursor, with optional title text.
Selective Image Preloading, Optimised Image Positioning, Shrink-To-Fit Resizing, Individual Div Styling.
Dual or Tri-State graphical rollover buttons that stay 'locked' when clicked, until the click of another button in the group.
- Automated image pre-loading
- Button presetting on load
- Support for multiple button groups
- Optional text captioning
Contrary to what you may believe:
NOBODY needs a countdown timer, so we won't be writing one!
This script fades the background and foreground colour of links, buttons and other elements on hover.
Makes a smooth transition between any two RGB colour values.
Link fading can be triggered on focus by keyboard users.
Very easy, unobtrusive configuration.
Provides a control to toggle a frame set between two fixed sets of dimensions.
This script highlights a hovered element, link or button in a specified group, by fading out the others.
This effect produces single-image rollovers.
Features optional 'locking' on click and presetting on load.
Selects a random URL from a supplied list for a specified link, each time the document loads.
Will not repeat the same URL consecutively (subject to cookie support).
Annunciates the url in the title bar on hover, along with a text description.
Supports multiple links each with their own URL list.
Easily configured, individually customisable popup tooltips that can contain any type of element, including other websites.
Can be entered by the mouse cursor to copy data, and when populated with links can act as inline menus.