For example usage of this script, see /Examples. For tests, see /Tests.

Form calculators use a script that enables dynamic loading of templates into parts of a page. A configurable form is used to input parameters into the template.


The JS calculator's configuration section uses name = value pairs, each separated by a newline. The possible names are:

  • template - The name of the template to use on form submittal. If no namespace is provided, then the template namespace will be searched by default. If the template is in the main namespace, you must prepend a colon to the article name. This follows the same convention that's used when transcluding templates into a page.
  • form - The unique HTML ID of the element that will contain the form. Each configuration block should specify a different form ID.
  • result - The unique HTML ID of the element that will contain the parsed template.
  • suggestns - A comma-separated list of namespace IDs to use for autocomplete. This field applies for all article parameter types used in the form. By default, namespace 0 (main) is searched. See the table to the bottom for the valid namespace IDs.
  • param - Defines a parameter to be sent to the template, in the format shown in the next section.

Parameter format

A param line should be in the following format:

param = Param name|Label name|Default value|Param type|Param range
  • Param name - The name of the parameter as used by the template. Parameter names are case sensitive, and there can be no spaces.
  • Label name - The label used for the parameter in the form. If blank, Param name is used. Label name supports using HTML to format the labels - including simple formats like <em>, <span> and even <img />.
    • However, normal wikiscript can only be used if the config is contained within a div tag instead of a pre tag
  • Default value - The default value used to prefill the form initially.
  • Param type - The type of the parameter, used for form validation and to control the appearance of the form field. Valid values for Param type are:
    • string (default) - The input box can contain any value.
    • article - The input box should contain an article name. Currently, this means that autocomplete will be enabled for the text box. To set the namespaces searched by autocomplete, use the suggestns field (see above).
    • number - The input box must contain a number. A valid range can be specified in Param range in the format min-max. If either min or max is omitted or a range is not given, then infinity is assumed.
    • int - The input box must contain an integer. A valid range can be specified (see above).
    • select - The input is selected from a comma-separated list of values given in Param range.
    • check - A checkbox, with values sent to the template defined by the Param range.
      • The Param range has format value if true,value if false, which defines what the form will pass to the template when ticked or not ticked. The default for this is true,false.
      • The checkbox will be checked by default if the Default value is set to true or the same as the value if true given in the Param range.
    • hs - A special field which attempts to lookup a player's hiscores for values to be passed into other parameters.
      • Currently, Default value is ignored. The form will automatically try to prefill the form with the last name entered in a hs< type box.
      • Param range has a format of otherparam,skill,value where otherparam is the Param name of any other parameter in the form, skill is the integer of the skill to lookup (as defined by the table to the bottom), and value is 0 for rank, 1 for level and 2 for experience (0 for rank and 1 for score in minigames). Multiple parameters can be changed by using ; - i.e. otherparam,skill,value;thirdparam,skill2,value2.
    • fixed - The value specified by Default value will be shown but cannot be changed in the form.
    • hidden - The value specified by Default value will be hidden in the form and cannot be changed. No row is generated for the form at all.
    • semihidden - A combination of fixed and hidden: The value specified by Default value will be hidden in the form and cannot be changed, but unlike hidden, a row is added to the form, which is hidden with CSS. This is primarily for inter-script usage (i.e. some other script sets the semihidden value to something so that it is passed to the template when submitted).
  • Param range - The allowed range of the parameter. The format of this field depends on the Param type chosen.

The configuration section should be contained within a <div> or <pre> tag with the class jcConfig, e.g.:

<pre class="jcConfig">
  ... configuration ...

For example configurations, see /Examples.



Namespace IDs
Namespace Article ID Talk ID
Media -2 N/A
Special -1 N/A
(main) 0 1
User 2 3
RuneScape 4 5
File 6 7
MediaWiki 8 9
Template 10 11
Help 12 13
Category 14 15
Update 100 101
Forum 110 111
Exchange 112 113
Charm 114 115
Calculator 116 117
Map 118 119
Module 828 829


Hiscore IDs
Skill ID Skill ID
Stats Overall icon highscores Overall 0 Attack icon highscores Attack 1
Defence icon highscores Defence 2 Strength icon highscores Strength 3
Hitpoints icon highscores Constitution 4 Ranged icon highscores Ranged 5
Prayer icon highscores Prayer 6 Magic icon highscores Magic 7
Cooking icon highscores Cooking 8 Woodcutting icon highscores Woodcutting 9
Fletching icon highscores Fletching 10 Fishing icon highscores Fishing 11
Firemaking icon highscores Firemaking 12 Crafting icon highscores Crafting 13
Smithing icon highscores Smithing 14 Mining icon highscores Mining 15
Herblore icon highscores Herblore 16 Agility icon highscores Agility 17
Thieving icon highscores Thieving 18 Slayer icon highscores Slayer 19
Farming icon highscores Farming 20 Runecrafting icon highscores Runecrafting 21
Hunter icon highscores Hunter 22 Construction icon highscores Construction 23
Summoning icon highscores Summoning 24 Dungeoneering icon highscores Dungeoneering 25
Divination-icon Divination 26 Invention Invention 27
Minigame ID Minigame ID
Bh icon Bounty Hunter 28 Bh rogue Bounty Hunter Rogue 29
Dominion tower highscores Dominion Tower 30 Crucible icon hiscores Crucible 31
Castle Wars Games highscores Castle Wars 32 Barbarian Assault Attackers hiscores Barbarian Assault Attacker 33
Barbarian Assault Defenders hiscores Barbarian Assault Defender 34 Barbarian Assault Collectors hiscores Barbarian Assault Collector 35
Barbarian Assault Healers hiscores Barbarian Assault Healer 36 Duel tournament Duel Tournaments 37
Mobilising Armies icon highscores Mobilising Armies 38 Conquest hiscores Conquest 39
Fist of Guthix icon highscores Fist of Guthix 40 Gielinor Games icon hiscores GG: Athletics 41
Gielinor Games resources icon hiscores GG: Resource Race 42 Barbarian Assault Attackers hiscores WE2: Armadyl contribution 43
Barbarian Assault Attackers hiscores WE2: Bandos contribution 44 Barbarian Assault Attackers hiscores WE2: Armadyl PvP kills 45
Barbarian Assault Attackers hiscores WE2: Bandos PvP kills 46 Hunter icon highscores Heist: Guard Level 47
Thieving icon highscores Heist: Robber Level 48 Cabbage Facepunch Bonanza icon hiscores CFB: 5 games average 49
Barbarian Assault Attackers hiscores AF2015: Cow Tipping 50 Barbarian Assault Attackers hiscores AF2015: Post-miniquest rat kills 51


This script is released under the GNU General Public License. The source code is available at MediaWiki:Common.js/calc.js.

Community content is available under CC-BY-SA unless otherwise noted.