Description Usage Arguments Details Frozen inputs with scope See Also Examples
Form inputs are a new reactive input. Form inputs are an alternative to shiny's submit buttons. A form input is comprised of any number of inputs. The value of these inputs will not change until a form submit button within the form input is clicked. A form input's reactive value depends on the clicked form submit button. This allows you to distinguish between different form submission types, think "login" versus "register".
A form submit button, formSubmit()
, is a special type of button used to
control form input submission. A form input and its child reactive inputs
will never update if a form submit button is not included in ...
passed
to formInput()
.
1 2 3 4 5 | formInput(id, ..., inline = FALSE)
formSubmit(label, value = label, ...)
updateFormInput(id, submit = FALSE, session = getDefaultReactiveDomain())
|
id |
A character string specifying the id of the reactive input. |
... |
Any number of unnamed arguments passed as child elements to the
parent form element or named arguments passed as HTML attributes to the
parent element. At least one |
inline |
One of |
label |
A character string specifying the label of the form submit button. |
value |
A character string specifying the value of the form submit
button and the value of the form input when the button is clicked,
defaults to |
submit |
One of |
session |
A reactive context, defaults to |
When inline
is TRUE
you may want to adjust the right margin of each child
element for viewports larger than mobile, margin(<TAG>, right = c(sm = 2))
,
see margin()
. You only need to apply extra space for larger viewports
because inline forms do not take effect on small viewports.
Use updateFormInput()
to submit a form input. This will cause all the form's
child inputs to update.
ui <- container( formInput( id = "login", formGroup( label = "Username", textInput( id = "user" ) ), formGroup( label = "Password", textInput( type = "password", id = "pass" ) ), formSubmit( label = "Login", value = "login" ) ) ) server <- function(input, output) { # Will not react until the form submit button is # clicked. observe({ print(input$email) print(input$password) }) } shinyApp(ui, server)
Other inputs:
buttonGroupInput()
,
buttonInput()
,
checkbarInput()
,
checkboxInput()
,
chipInput()
,
fileInput()
,
listGroupInput()
,
menuInput()
,
navInput()
,
radioInput()
,
radiobarInput()
,
rangeInput()
,
selectInput()
,
textInput()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ### A simple form
card(
header = "Please pick a flavor",
formInput(
id = "form1",
formGroup(
label = "Ice creams",
radioInput(
id = "flavor",
choices = c("Mint", "Moose tracks", "Marble"),
)
),
formSubmit("Make choice", "choice") %>%
background("teal")
)
) %>%
border("teal") %>%
width(50)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.