mirror of
https://github.com/rstudio/shiny.git
synced 2026-01-10 07:28:01 -05:00
* Update rituals.yaml * update docs links * Fix 404 link * http://fontawesome.io to https://fontawesome.com * Update links (GitHub Actions) * Update NEWS.md * Only check urls in rc branches * missing paren Co-authored-by: schloerke <schloerke@users.noreply.github.com>
84 lines
3.0 KiB
R
84 lines
3.0 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/input-submit.R
|
|
\name{submitButton}
|
|
\alias{submitButton}
|
|
\title{Create a submit button}
|
|
\usage{
|
|
submitButton(text = "Apply Changes", icon = NULL, width = NULL)
|
|
}
|
|
\arguments{
|
|
\item{text}{Button caption}
|
|
|
|
\item{icon}{Optional \code{\link[=icon]{icon()}} to appear on the button}
|
|
|
|
\item{width}{The width of the button, e.g. \code{'400px'}, or \code{'100\%'};
|
|
see \code{\link[=validateCssUnit]{validateCssUnit()}}.}
|
|
}
|
|
\value{
|
|
A submit button that can be added to a UI definition.
|
|
}
|
|
\description{
|
|
Create a submit button for an app. Apps that include a submit
|
|
button do not automatically update their outputs when inputs change,
|
|
rather they wait until the user explicitly clicks the submit button.
|
|
The use of \code{submitButton} is generally discouraged in favor of
|
|
the more versatile \code{\link[=actionButton]{actionButton()}} (see details below).
|
|
}
|
|
\details{
|
|
Submit buttons are unusual Shiny inputs, and we recommend using
|
|
\code{\link[=actionButton]{actionButton()}} instead of \code{submitButton} when you
|
|
want to delay a reaction.
|
|
See \href{https://shiny.rstudio.com/articles/action-buttons.html}{this article} for more information (including a demo of how to "translate"
|
|
code using a \code{submitButton} to code using an \code{actionButton}).
|
|
|
|
In essence, the presence of a submit button stops all inputs from
|
|
sending their values automatically to the server. This means, for
|
|
instance, that if there are \emph{two} submit buttons in the same app,
|
|
clicking either one will cause all inputs in the app to send their
|
|
values to the server. This is probably not what you'd want, which is
|
|
why submit button are unwieldy for all but the simplest apps. There
|
|
are other problems with submit buttons: for example, dynamically
|
|
created submit buttons (for example, with \code{\link[=renderUI]{renderUI()}}
|
|
or \code{\link[=insertUI]{insertUI()}}) will not work.
|
|
}
|
|
\examples{
|
|
if (interactive()) {
|
|
|
|
shinyApp(
|
|
ui = basicPage(
|
|
numericInput("num", label = "Make changes", value = 1),
|
|
submitButton("Update View", icon("refresh")),
|
|
helpText("When you click the button above, you should see",
|
|
"the output below update to reflect the value you",
|
|
"entered at the top:"),
|
|
verbatimTextOutput("value")
|
|
),
|
|
server = function(input, output) {
|
|
|
|
# submit buttons do not have a value of their own,
|
|
# they control when the app accesses values of other widgets.
|
|
# input$num is the value of the number widget.
|
|
output$value <- renderPrint({ input$num })
|
|
}
|
|
)
|
|
}
|
|
}
|
|
\seealso{
|
|
Other input elements:
|
|
\code{\link{actionButton}()},
|
|
\code{\link{checkboxGroupInput}()},
|
|
\code{\link{checkboxInput}()},
|
|
\code{\link{dateInput}()},
|
|
\code{\link{dateRangeInput}()},
|
|
\code{\link{fileInput}()},
|
|
\code{\link{numericInput}()},
|
|
\code{\link{passwordInput}()},
|
|
\code{\link{radioButtons}()},
|
|
\code{\link{selectInput}()},
|
|
\code{\link{sliderInput}()},
|
|
\code{\link{textAreaInput}()},
|
|
\code{\link{textInput}()},
|
|
\code{\link{varSelectInput}()}
|
|
}
|
|
\concept{input elements}
|