It’s a gorgeous evening in Bath tonight, and my evening has been improved by finding a free table outside at the pub, a large glass of Sauvignon Blanc, and working out how to include a JavaScript confirmation box in Shiny. Here, I’m using Shiny dashboard, although this methodology will work fine with other UI layouts.
In the UI file, near the top of the dashboardBody , call tags$head
and tags$script
to give the source of the JavaScript file:
tags$head(
tags$script(src = 'custom.js')
),
Then, in a file named custom.js
as above, within the www
folder, include the following code. Here, the button which the user clicks on has the inputId set to “submit”.
$(document).on('shiny:inputchanged', function(event) {
if (event.name === 'submit') {
var r = confirm("Are you sure you want to continue?");
if (r === false) {
event.preventDefault();
}
}
});
Want to know more about JavaScript events in Shiny? Visit this article on the RStudio website for a comprehensive guide: http://shiny.rstudio.com/articles/js-events.html