Используйте actionButton для отправки электронной почты в Ршины

2

Я работаю над веб-приложением в Shiny. Я довольно знаком с R, но мне не хватает знаний о HTML, CSS, jQuery и т.д., Что делает форматирование очень привлекательным.

Я хочу включить actionButton который пользователь может щелкнуть, чтобы отправить электронное письмо администратору в случае возникновения вопросов или проблем. Вот что я до сих пор, какие работы, но довольно отвратительные:

library(shiny)
ui <- shinyUI(fluidPage(
  # Set layout/format for app
  sidebarLayout(
    sidebarPanel(
      downloadButton("download_data", "Download this Data"),
      br(),
      actionButton(inputId = "email1", 
                   icon = icon("envelope", lib = "font-awesome"), 
                   a("Contact Admin", 
                       href="mailto:my_awesome_email_address.com"))
    ),
    mainPanel(),
    position = "left"
  )
)
)

server <- shinyServer(function(input, output) {})
shinyApp(ui, server)

Если возможно, я хотел бы продолжать использовать actionButton или что-то подобное, чтобы сохранить одинаковый формат кнопки для обеих кнопок.

Заранее спасибо!

Теги:
shiny
button

1 ответ

2
Лучший ответ

Хорошо, это раздражает. Ненавижу быть одним из тех людей, которые отвечают на собственный вопрос, но здесь говорится:

Я поиграл с упорядочением различных tags в своем коде и понял, что мой текущий код был неправильным, потому что я только заявлял, что хочу, чтобы текст кнопки связывался с моим адресом электронной почты, а не с самой кнопкой. Чтобы исправить это, я перевернул вложенность actionButton и a() чтобы получить следующее:

a(actionButton(inputId = "email1", label = "Contact Admin", 
                 icon = icon("envelope", lib = "font-awesome")),
    href="mailto:my_awesome_email_address.com")

При нажатии любой кнопки на кнопке автоматически открывается адрес электронной почты, адресованный данному адресу электронной почты после аргумента mailto. Не требуется дополнительного кодирования HTML или CSS. Надеюсь, это поможет кому-то еще, чтобы они могли потратить свое время на то, чтобы сделать что-то более ценное, чем чистить интернет в течение нескольких часов подряд.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню