ABCDEFGHIJKLMNOPQRST
1
explanationsclasstype
optional
nameshowiflabelchoice1choice2choice3choice4choice5choice6choice7choice8choice9choice10choice11choice12value
2
formr won´t read this column, so it won´t change anything. If you like, you can add more columns for structuring or for translating side-by-side etc.


If you want to know more about columns, please visit the documentation page (https://formr.org/public/documentation#sample_survey_sheet).

notenote_feedback## note
You can use a note for feedback plots. For example, this is what 100 dots look like.

```{r}
library(ggplot2)
qplot(rnorm(100), rnorm(100) ) + theme_bw() + ylab("More dots") + xlab("Dots")
```

Wow, right?
3
get code*code
4
notenote_for_items_to_follow#### by the way
In Excel you can make a new line using Alt+Enter (Windows) or Alt+Apple+Enter (Mac). In Google Sheets, it's Alt+Enter on both platforms.
You can start a new paragraph by using a blank line.

In the `label` column you can use HTML und [Markdown](http://daringfireball.net/projects/markdown/syntax) and `knitr`. Here's a very handy [reference guide](http://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf).

Make text __bold__ through `__bold__`, make it *italic* through `*italic*`.

## Introduction
All available widgets follow. They should work in all current and fairly many older browsers.
5
random 0,1ran_group
6
a simple text field. You can put a Regular Expression pattern behind the "text", e.g. "text [0-9][A-G]" permits only input like 0A, 1G, but not AA etc.textabode## text
Where do you live?
7
textarea are like text fields but with multiple linesbig-textareatextareayourstory## textarea
And why would anybody want to live _there_?
8
multiple choice question are the workhorse of many a psychological study and quizzesmcmc_polytheism### mc
How many Gods?
Depending on what you answer here, you get a different question next. Try it out.
noneonetwoa whole bunch
9
this item has a showif, it's only shown if you're a monotheistsquare square80mc_buttonmc_godmc_polytheism == 2### mc
<sup title="If you can't make up your mind, you probably want to click Cthulhu." class="hastooltip"><i class="icon-circle-blank"></i></sup> A simple multiple-choice question with three choices (and a hint).
Spaghetti MonsterCthulhuGlob
10
this item has a showif, it's only shown if you're a polytheistsquare square80mc_multiple_button!mc_multi_godsmc_polytheism> 2### mc_multiple
So, who do you believe in? <sup title="If you can't make up your mind, you probably want to click Cthulhu." class="hastooltip"><i class="icon-circle-blank"></i></sup>.

This is a simple multiple-choice question with three choices (and a hint), but you need to choose at least one (we enforced this with a !). Most items require you to make a choice, but for mc_multiple and check this doesn't make sense.
Spaghetti MonsterCthulhuGlob
11
You may have noticed the second sheet `choices`in this spreadsheet-file. In this sheet you can find the columns `list_name`,`name` and `label`. This is an alternate way to specify the items possible choices. Please switch to the `choices`-sheet to learn more.mc_verticalmc many_choicesmultiplechoice_several### mc
Choose one!

A multiple-choice/radio button question with more choices. We can give more spaces to the choices by specifying a [CSS](http://reference.sitepoint.com/css) class in the `class` column.
12
mc_block mc_first_leftmc_multiple many_choicesmc_multiple_many### mc_multiple

mc_multiple or multiple-multiple-choice/checkboxes.

Now you can select several choices. The choices appear comma-separated in the results.
13
This item shows the first choice (specified in column `choice1`), then the numbers specified in the `type` column (`1,5,1`= min,max,step; in this case the numbers 1,2,3,4 and 5 will be displayed ), then the second choice (specified in column `choice2`).rating_button 1,5,1rating_button### rating_button 5
What do you prefer?

You may want to use rating-buttons as an item-type for your studies, because they look nice and are easy to handle. You can force the width of the labels on the side to be constant using classes.
eternal sufferingcomplete meaninglessness
14
blank_buttonrating_button 1,5,1rating_button2### rating_button 5
You have the choice between a variety of visual styles (and eternal suffering and complete meaninglessness).

You get these blank buttons by adding the class `blank_button`.
eternal sufferingcomplete meaninglessness
15
analogue_rating_scalerating_button 1,20,1rating_button3### rating_button 1,20,1
Class `analogue_rating_scale`. Do away with labels, simply let your users pick a point on the scale. These may be better than the sliders below, because they don't have a default value (which will be "picked" very often by lazy participants).
eternal sufferingcomplete meaninglessness
16
emailyour_email### email
Enter some email address.
Email addresses are automatically checked for syntax in newer browsers. You still need to write to them, to find out if somebody is using it, though.
17
Numbers can of course be restricted through parameters in the `type`-column:
`number minimum,maximum,step`
where `step` is the unit/smallest possible step and defaults to 1.

To allow arbitrary accuracy, step has to be `any`.
Should you want to specify just a minimum or just a maximum, or just a step, leave the commas in place, e.g. `number ,120,1`
number 0,32,1teeth### number 0,32,1
How many teeth do you have?
18
19
left500range_ticks 1,5,1slider_list### range_ticks 1,5,1
You can make sliders with this item type.By defining two choices, you can also label the slider's poles.
Range uses the same options as `number`.

`range_ticks` shows 'ticks', i.e. marks for every useable value on the scale. Thus, it doesn't make sense to use range_ticks for very large ranges.
yaynay
20
bigleftrange 1,100,1slider### range 1,100,1
Same as `range_ticks` without ticks.
coolnot cool
21
select_one time_periodstime_period### select
When were you born?
`select` is a different way to display `mc`.
It's useful when you have many choices.
22
select_multiplepartner### select_multiple
Who do you love?
`select_multiple` is a different way to display `mc_multiple`. Probably not usually a good idea, because many people don't know how to select multiple choices (shift click).
GiseleAngieHeribert
23
24
25
By specifying `*` in the `optional` column users can skip the question without being forced to answer it.mc_button*btnmc### mc_button
Who do you love more?

An `mc` field with larger buttons that are easier to click. It looks best, when the text on each button is of comparable length.
momdad
26
By specifying `!` in the `optional` column you force users to choose at least one option.square square80mc_multiple_buttonhobbies### mc_multiple_button
What are your hobbies then?

An `mc_multiple` field with larger buttons. To differentiate it from mc_button which would otherwise look the same, I recommend adding the class `square`. It's worth calling people's attention to the fact that multiple choices can be selected.
<i class="fa fa-2x fa-bicycle"></i><i class="fa fa-2x fa-binoculars"></i><i class="fa fa-2x fa-cutlery"></i><i class="fa fa-2x fa-money"></i>
27
this item is optional by default, otherwise you'd be making people an "offer they can't refuse". If that's your intention (e.g. to say "agree with my terms if you want to go on"), write ! in the optional columncheckconfirm1### check
Do you wish to be bothered with an extra question?
28
This one has a showIf: `confirm1 == 1`. `confirm1`is the name of the item you are referring to. `=1` is the value the item `confirm1` must have if the item `confirm2` shall be displayed. In this case `confirm2` will only be displayed if you checked that you wanted to be bothered with another question (because that is what `confirm1` asks). Another example: If you wanted to show this item to persons that are over 18 years old only, you would have to set the `showif` to: `age =>18`.

Showifs can also refer to surveys that were answered before this one in the run.
check_buttonconfirm2confirm1 == 1### check_button
Like `check` with a larger button.

This will only be displayed if you checked that you wanted to be bothered with another question.
29
30
31
time 11:00,12:00time### time
What time is it?
32
date 01.01.2012, now (date min, max): The definition of min, max is optional. In this case users can choose dates between 01.01.2012 and the present date(now).date 01.01.2012,nowlast_toenail_cut### date
When was the last time you cut your toenails?
33
34
monthmonthFALSE### month
And your favourite month?
35
By adding `FALSE` to the `showif`column, you can hide the item.datetime-localdatetimelocaltestFALSE### datetime-local
36
datetimedatetimetestFALSE### datetime
37
yearmonthyearmonthtestFALSE### yearmonth
38
weekweektestFALSE### week
39
40
41
teltelephoneFALSE# tel
For telephone numbers. Most devices don't do anything special with this yet, but it might show a numeric dial pad on a phone or even bring up the phonebook.
42
urlinternet_addressFALSE# url
For internet addresses
43
cccreditcardFALSE# cc
44
colorcolour# color
What's your cat's favourite color (hint: it can't really differentiate red and green)?
45
geopointgeoloc
### geopoint
This item saves GPS coordinates, which can be taken from actual GPS or e.g. Google's WiFi database if you're on a non-GPS device.
46
referrerlast_outside_referrer### REFERRER
Which site this user came from
47
ipip_address### IP
48
browserbrowser
### get the user's browser
Useful to find out if all e.g. Smartphone users tend to get stuck.
49
50
select_or_add_one!fav_tv_series### select_or_add_one
What's your favourite TV series? If you need more choices (why would you), just add your own by typing into the search field and pressing enter.
The WireAdventure Time
51
select_or_add_multiplem_fav_tv_series### select_or_add_multiple
What are your favourite TV series? If you need more choices (why would you), just add your own.
The WireAdventure Time
52
Now, we go to the second pagesubmitpage1Go on
53
Now, because formr has a strong privacy orientation, we never give out data after it has been entered, unless you explicitly say so. In this case, we need it: we want to dynamically show a question based on both a question on the first and this page.

So, we "import" that value as a hidden field.
hiddenmonotheistifelse(mc_polytheism == 2, 1, 0)
54
noterandom_noteNow, we shuffled you into one of two experimental groups.
55
This requires no special techniques, we can check whether this condition is true on the server (safer).mckittenran_group == 0#### Kittens
Do you like kittens?
![kitten](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Youngkitten.JPG/320px-Youngkitten.JPG)
adore themwell, yes
56
This requires the special field above, because we want to react immediately, but part of the information was given on the first page, part on this page.mcif_you_like_kittensmonotheist == 1 & kitten == 1You say you believe in only one God, but also adore kittens. This sounds suspiciously close to idolatry. Who do you prefer?```{r}
gods = c("1" = "Spaghetti Monster",
"2" = "Cthulhu", "3" = "Glob")
god_name = gods[mc_god]
```
`r god_name`
Kittens
57
mcpuppyran_group == 1#### Puppies
Do you like puppies?
![puppy](https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Puggle_puppy_%28cropped%29.jpg/395px-Puggle_puppy_%28cropped%29.jpg)
adore themwell, yes
58
mcif_you_like_puppiesmonotheist == 1 & puppy == 1You say you believe in only one God, but also adore puppies. This sounds suspiciously close to idolatry. Who do you prefer?```{r}
gods = c("1" = "Spaghetti Monster",
"2" = "Cthulhu", "3" = "Glob")
god_name = gods[mc_god]
```
`r god_name`
Puppies
59
timezonetimez### timezone
In which timezone were you born?
60
mc_width70 rotate_label45mc_headingheading### mc_heading

A standard format for economising space in paper-pencil, value for online studies doubtful?
NoA little?Who's asking?I'm tough!11so tough
61
by the way, if you give several items the same stem and then add numbers, you can automatically let the formr R package compute scales, reliabilities etc. If you add an R to the end, like tough3R, formr will reverse the item automatically for you.hide_label mc_width70 rotate_label45mctough1So, you think you're tough?NoA little?Who's asking?I'm tough!11so tough
62
hide_label mc_width70 rotate_label45mctough2But, are you durable?NoA little?Who's asking?I'm tough!11so tough
63
notelimit_noteYou have 100 dollars. Spend them wisely! Or try to spend more/less than what you have and see what happens.
64
number 0,100,1the_needySpend on the needy.
65
number 0,100,1suffering_animalsSpend on suffering animals.
66
blockno_more_than_100(the_needy + suffering_animals) > 100You can't spend more than a hundred dollars because of capitalisms. (If you try to submit now, you won't be able to).
67
blockno_less_than_100(the_needy !== "" & suffering_animals !== "") & ((the_needy + suffering_animals) < 100) //js_onlyAre you trying to keep the money? What about the suffering animals? Have you no heart?
68
telphone_numberWhat's your number?
69
note_iframeiframenoteYou can even include interactive R graphics, but only if you use the item type `note_iframe`.

```{r}
library(rbokeh)
p <- figure() %>%
ly_points(Sepal.Length, Sepal.Width, data = iris,
color = Species, glyph = Species,
hover = list(Sepal.Length, Sepal.Width))
p
```
70
submitsubmitSubmit to go on.
71
72
73
74