A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | Q | R | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | type | parameters | name | label | image | audio | hint | appearance | choice_filter | constraint | constraint-msg | default | calculation | readonly | relevant | required | |
2 | note | intro | This form showcases the different available _widgets_. The hints explain how these widgets were created. The form logo was added by simply uploading a file called *form_logo.png* as part of the form media. The XLS Form source is [here](https://docs.google.com/spreadsheet/ccc?key=0Al3Mw5sknZoPdEpPa29tamFCc1o2bmFVR3RaemlSRXc&usp=sharing). | ||||||||||||||
3 | begin_group | text_widgets | Text widgets | ||||||||||||||
4 | text | text | Text widget | Can be short or long but always one line (type = text) | |||||||||||||
5 | text | phone | Text widget for phonenumber-like input | This is a text input that will show the numbers keyboard on mobile devices (type=text, appearance=numbers) | numbers | ||||||||||||
6 | text | long_text | Multiline Text widget in enketo (in ODK collect this a normal text field) | Can be multiple lines (type=text, appearance=multiline) | multiline | ||||||||||||
7 | barcode | barcode | Barcode widget | Scans multi-format 1d/2d barcodes. In enketo it allows manual entry (type=barcode) | |||||||||||||
8 | text | url | URL widget | url | https://enketo.org | yes | |||||||||||
9 | end_group | ||||||||||||||||
10 | begin_group | number_widgets | Number widgets | ||||||||||||||
11 | integer | int | Integer widget (try entering a number > 10) | This field has a constraint (type=integer, constraint=.<10) | . < 10 | Requires a number less than 10 | |||||||||||
12 | decimal | decimal | Decimal widget (allows only number > 10.51 and < 18.39) | This field has a constraint (type=decimal, constraint=. > 10.51 and . < 18.39) | . > 10.51 and . < 18.39 | Requires a number between 10.51 and 18.39 | 18.31 | ||||||||||
13 | end_group | ||||||||||||||||
14 | begin_group | range_widgets | Range widgets | ||||||||||||||
15 | range | start=0 end=5 step=1 | range1 | Range widget 1 | A horizontal range widget (type=range) | ||||||||||||
16 | range | start=0 end=2 step=0.1 | range2 | Range widget 2 | A vertical range widget (type=range, appearance=vertical) | vertical | |||||||||||
17 | range | start=0 end=5 step=1 | range3 | Range widget 3 | A horizontal range widget without ticks (type=range, appearance=no-ticks) | no-ticks | |||||||||||
18 | range | start=0 end=5 step=1 | range4 | Range picker widget 4 | A horizontal range widget without ticks (type=range, appearance=picker) | picker | |||||||||||
19 | range | start=0 end=5 step=1 | range5 | Rating widget 5 | A horizontal range widget without ticks (type=range, appearance=rating) | rating | |||||||||||
20 | range | distress | Distress widget | A highly specific widget to measure distress(type=range, appearance=distress) | distress | ||||||||||||
21 | end_group | ||||||||||||||||
22 | begin_group | date_time_widgets | Date and time widgets | ||||||||||||||
23 | date | date | Date widget (this one loads a default value set in the form) | 2010-06-15 | |||||||||||||
24 | date | date_month_year | Month-year widget | Simply specify an appearance style (type=date, appearance=month-year) | month-year | ||||||||||||
25 | date | date_year | Year widget (year only) | Simply specify and appearance style (type=date, appearance=year) | year | ||||||||||||
26 | time | time | Time widget | Times are easy! (type=time) | |||||||||||||
27 | dateTime | datetime | Date and time widget | For exact times, will be converted to UTC/GMT (type=dateTime) | |||||||||||||
28 | end_group | ||||||||||||||||
29 | begin_group | rank_widgets | Rank widgets | ||||||||||||||
30 | rank holiday | randomize=true | rank | Rank these holiday destinations (top = favorite) | This widget can also be used in a cascading selection (type=rank, parameters: randomize=true) | ||||||||||||
31 | end_group | ||||||||||||||||
32 | begin_group | select_widgets | Select widgets | ||||||||||||||
33 | select_multiple list | select | Select multiple widget | Using a list specified in the choices worksheet (type=select_multiple) | not(selected(., 'c') and selected(., 'd')) | You cannot select c and d both | a c | ||||||||||
34 | select_multiple yes_no | select_horizontal | Select multiple widget displaying horizontally in columns | (type=select_multiple, appearance=columns) | columns | ||||||||||||
35 | select_multiple list | select_horizontal_compact | Select multiple widget displaying horizontally | (type=select_multiple, appearance=columns-pack) | columns-pack | ||||||||||||
36 | select_multiple list | select_spinner | Select multiple: pulldown | Showing a pull-down list of options (type=select_multiple list, appearance=minimal) | minimal | ||||||||||||
37 | select_multiple state | select_image-map | Select states from the image | US_MAP.svg | (type=select, appearance=image-map) | image-map | |||||||||||
38 | select_one list2 | select1 | Select one widget | This one has default value (type=select_one) | 8 | ||||||||||||
39 | select_one list2 | select1_horizontal | Select one widget displaying horizontally in columns | (type=select_one, appearance=columns) | columns | ||||||||||||
40 | select_one yes_no | select1_horizontal_compact | Select one widget displaying horizontally | (type=select_one, appearance=columns-pack no-buttons) | columns-pack no-buttons | ||||||||||||
41 | select one agree5 | select1_likert | Select one displaying as a Likert item | (type=select_one, appearance=likert) | likert | ||||||||||||
42 | select_one list | select1_spinner | Select one: pulldown | Showing a pull-down list of options (type=select_one list, appearance=minimal) | minimal | ||||||||||||
43 | select_one list1 | select1_autocomplete | Select one autocomplete widget | Type e.g. 'g' to filter options. (type=select_one, appearance=autocomplete) | autocomplete | ||||||||||||
44 | select_one state | select1_image-map | Select a state from the image | US_MAP.svg | (type=select_one, appearance=image-map) | image-map | |||||||||||
45 | select_one a_b | grid_test | No buttons | Make sure to put a.jpg and b.jpg in the form-media folder to see images here. (type=select_one, appearance=no-buttons) | no-buttons | ||||||||||||
46 | select_one a_b_c_d | grid_2_columns | Fixed number of columns (2), and no buttons | Grid with a maximum of 2 columns. (type=select_one a_b, appearance=columns-2 no-buttons) | columns-2 no-buttons | ||||||||||||
47 | begin_group | table_list_test | Table | field-list | |||||||||||||
48 | select_one yes_no | table_list_test_label | Table | Show only the labels of these options and not the inputs (type=select_one yes_no, appearance=label) | label | ||||||||||||
49 | select_one yes_no | table_list_1 | Q1 | Show only the inputs of these options and not the labels (type=select_one yes_no, appearance=list-nolabel) | list-nolabel | ||||||||||||
50 | select_one yes_no | table_list_2 | Question 2 | Show only the inputs of these options and not the labels (type=select_one yes_no, appearance=list-nolabel) | list-nolabel | ||||||||||||
51 | end group | ||||||||||||||||
52 | begin group | table_list_test2 | Table (alternative method) | table-list | |||||||||||||
53 | select_one yes_no | table_list_3 | Q1 | No need to do anything special here | |||||||||||||
54 | select_one yes_no | table_list_4 | Question 2 | No need to do anything special here | |||||||||||||
55 | end_group | ||||||||||||||||
56 | begin group | happy_sad_table | Table with image labels (alternative method) | table-list | |||||||||||||
57 | select_multiple happy_sad | happy_sad_brian | Brian | ||||||||||||||
58 | select_multiple happy_sad | happy_sad_michael | Michael | ||||||||||||||
59 | end group | ||||||||||||||||
60 | end_group | ||||||||||||||||
61 | begin_group | cascading_widgets | Cascading Select widgets | ||||||||||||||
62 | begin_group | group1 | Cascading Selects with Radio Buttons | ||||||||||||||
63 | select_one countries | country | Country | ||||||||||||||
64 | select_one cities | city | City | Using a choice filter to update options based on a previous answer (choice_filter: country = ${country}) | country=${country} | ||||||||||||
65 | select_one neighborhoods | neighborhood | Neighborhood | Using a choice filter to update options based on previous answers (choice_filter: country = ${country} and city = ${city}) | country=${country} and city=${city} | ||||||||||||
66 | end_group | ||||||||||||||||
67 | begin_group | group2 | Cascading Selects with Pulldowns | ||||||||||||||
68 | select_one countries | country2 | Country | (appearance: minimal) | minimal | ||||||||||||
69 | select_one cities | city2 | City | Using a choice filter to update options based on a previous answer (choice_filter: country = ${country2}, appearance: minimal) | minimal | country=${country2} | |||||||||||
70 | select_one neighborhoods | neighborhood2 | Neighborhood | Using a choice filter to update options based on previous answers (choice_filter: country = ${country2} and city = ${city2}, appearance = minimal) | minimal | country=${country2} and city=${city2} | |||||||||||
71 | end_group | ||||||||||||||||
72 | end_group | ||||||||||||||||
73 | begin_group | geopoint_widgets | Geo widgets | ||||||||||||||
74 | geopoint | geopoint_map | Geopoint with map Widget | Record the gps location (type=geopoint, appearance=maps) | maps | ||||||||||||
75 | geopoint | geopoint_hide | Geopoint widget that hides input fields by default | Show a larger map (on desktop screens), you can hide the input fields. (appearance=hide-input) | maps hide-input | ||||||||||||
76 | geotrace | geotrace | Geotrace widget | Record a sequence of geopoints (type=geotrace, appearance=maps hide-input) | maps hide-input | ||||||||||||
77 | geoshape | geoshape | Geoshape widget | Record a closed sequence/polygon of geopoints (type=geoshape, appearance=maps hide-input) | maps hide-input | 7.9377 -11.5845 0 0;7.9324 -11.5902 0 0;7.927 -11.5857 0 0;7.925 -11.578 0 0;7.9267 -11.5722 0 0;7.9325 -11.5708 0 0;7.9372 -11.5737 0 0;7.9393 -11.579 0 0;7.9377 -11.5845 0 0 | |||||||||||
78 | end_group | ||||||||||||||||
79 | begin_group | media_widgets | Media input widgets | ||||||||||||||
80 | image | image | Image widget | Select an image or take a photo (type=image) | |||||||||||||
81 | image | draw | Draw widget | Make a drawing (type=image, appearance=draw) | draw | ||||||||||||
82 | image | signature | Signature widget | Add a signature (type=image, appearance=signature) | signature | ||||||||||||
83 | image | annotate | Annotate image widget | Upload and annotate an image (type=image, appearance=annotate) | annotate | ||||||||||||
84 | audio | audio | Audio widget | Select an audio file or record audio (type=audio) | |||||||||||||
85 | video | video | Video widget | Select a video file or record a video (type=video) | |||||||||||||
86 | file | file | File widget (any type) | Select any file (no previews) | |||||||||||||
87 | end_group | ||||||||||||||||
88 | begin_group | display_widgets | Display widgets | ||||||||||||||
89 | note | output | Note widget. In notes you can emphasize _words_ or _multiple words_ or __strongly emphasize something__. You can also use a line break to start a new sentence. The decimal number you entered was ${decimal}. | This is a note and it uses a value of another field in its label (type=note) | yes | ||||||||||||
90 | text | text_media | You can add a sound recording, an image and a video to any input label or to a note. | goldeneagle.mp3 | Add the file name in the audio column on your survey sheet. Make sure you upload this file when you publish your form. | ||||||||||||
91 | select_one list1 | select_media | You can also add media to choices. Choose your favorite bird. | Add the file name in the image column on your choices sheet. Make sure you upload this file when you publish your form. | |||||||||||||
92 | trigger | trigger | Acknowledge widget | Prompts for confirmation. Useful to combine with required or relevant. (type=trigger) | |||||||||||||
93 | calculate | calc | ${decimal}+3 | ||||||||||||||
94 | note | calc_note | This shows the outcome of a hidden calculation: ${calc} | Calculations are very powerful feature. They are not only used for displaying results but can also be used in skip logic and validation. | |||||||||||||
95 | end_group |