Yes, we have a solution for this. You'll need to install the shiny-incubator package.
# Install devtools package if needed
install.packages("devtools")
devtools::install_github("shiny-incubator", "rstudio")
In your ui.R, include an actionButton("save", "Save"). This will create an input whose value starts at 0, and increases by 1 each time the button is clicked.
Then in server.R, include a chunk of code like this:
observe({
if (input$save == 0)
return()
isolate({
# Read inputs and save values to database here
})
})
The "observe" function is how you create an observer, which is described in
Reactivity Overview. The "isolate" function is described in
Isolation.