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.
Configuration[]
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 forParam 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 thesuggestns
field (see above).number
- The input box must contain a number. A valid range can be specified inParam 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 inParam range
.check
- A checkbox, with values sent to the template defined by theParam range
.- The
Param range
has formatvalue if true,value if false
, which defines what the form will pass to the template when ticked or not ticked. The default for this istrue,false
. - The checkbox will be checked by default if the
Default value
is set totrue
or the same as thevalue if true
given in theParam range
.
- The
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 ahs<
type box. Param range
has a format ofotherparam,skill,value
whereotherparam
is theParam 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), andvalue
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
.
- Currently,
fixed
- The value specified byDefault value
will be shown but cannot be changed in the form.hidden
- The value specified byDefault 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 byDefault value
will be hidden in the form and cannot be changed, but unlikehidden
, 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 theParam type
chosen.
The configuration section should be contained within a <div> or <pre> tag with the class jcConfig
, e.g.:
<pre class="jcConfig"> ... configuration ... </pre>
For example configurations, see /Examples.
IDs[]
Namespaces[]
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 |
Hiscores[]
Skills | |||
---|---|---|---|
Skill | ID | Skill | ID |
![]() |
0 | ![]() |
1 |
![]() |
2 | ![]() |
3 |
![]() |
4 | ![]() |
5 |
![]() |
6 | ![]() |
7 |
![]() |
8 | ![]() |
9 |
![]() |
10 | ![]() |
11 |
![]() |
12 | ![]() |
13 |
![]() |
14 | ![]() |
15 |
![]() |
16 | ![]() |
17 |
![]() |
18 | ![]() |
19 |
![]() |
20 | ![]() |
21 |
![]() |
22 | ![]() |
23 |
![]() |
24 | ![]() |
25 |
![]() |
26 | ![]() |
27 |
Minigames | |||
Minigame | ID | Minigame | ID |
![]() |
28 | ![]() |
29 |
![]() |
30 | ![]() |
31 |
![]() |
32 | ![]() |
33 |
![]() |
34 | ![]() |
35 |
![]() |
36 | ![]() |
37 |
![]() |
38 | ![]() |
39 |
![]() |
40 | ![]() |
41 |
![]() |
42 | ![]() |
43 |
![]() |
44 | ![]() |
45 |
![]() |
46 | ![]() |
47 |
![]() |
48 | ![]() |
49 |
![]() |
50 | ![]() |
51 |
License[]
This script is released under the GNU General Public License. The source code is available at MediaWiki:Common.js/calc.js.