javascript |单击提交按钮后如何显示成功消息

时间:2019-04-21 14:43:14

标签: javascript php jquery html

我有以下javascript代码,用于提交新的与我们联系表格。 在按下提交按钮之后,我希望html将显示成功消息。

有人知道我该怎么做吗?

$(function() {
  $('#contact-form').validator()

  $('#contact-form').on('submit', function(e) {
    // if the validator does not prevent form submit
    if (!e.isDefaultPrevented()) {
      const url = 'http://localhost/api/contact/'

      // POST values in the background the the script URL
      $.ajax({
        type: 'POST',
        url: url,
        data: $(this).serialize(),
        success: function(data) {
          // data = JSON object that contact.php returns

          // we recieve the type of the message: success x danger and apply it to the
          const messageAlert = 'alert-' + data.type
          const messageText = data.message

          // let's compose Bootstrap alert box HTML
          const alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>'

          // If we have messageAlert and messageText
          if (messageAlert && messageText) {
            // inject the alert to .messages div in our form
            $('#contact-form').find('.messages').html(alertBox)
            // empty the form
            $('#contact-form')[0].reset()
          }
        }
      })

      return false
    }
  })
})

3 个答案:

答案 0 :(得分:0)

您应该将alertBox变量附加到HTML中的现有元素。 例如,如果您的HTML元素的div ID为message

$("#message").append(alertBox);

有关附加的更多信息,可以在这里找到:http://api.jquery.com/append/

答案 1 :(得分:0)

只需将alertBox html添加到您的页面。

// let's compose Bootstrap alert box HTML
const alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>'

$(“html”).append(alertBox)

如果您希望警报显示在特定的位置,则可以将页面上的其他元素作为目标。

答案 2 :(得分:0)

您可以在脚本标签中添加此代码

<script> $("#contact-form").submit(_=> alert("You have successfully submitted"));</script>