Как отобразить модал после задержки? - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу, чтобы, если пользователь оставался на моем веб-сайте в течение примерно 20 секунд, отобразился модальный запрос имени пользователя и адреса электронной почты.Я получил идентификатор модального div и сохранил его в функции myFunction ().Основная проблема здесь - ничего не отображается через 20 секунд.

Ниже приведен мой код: -

<!-- Apart from window.onload, I have also mentioned the function with body onload-->

<body onload="myFunction" id="myPage" data-spy="scroll" data-target=".navbar" data-offset="60">

            <script type="text/javascript">

            window.setTimeout(function myFunction() {

                document.getElementById("exampleModal");

                },20000);

            </script>

        <!-- Modal code -->

             <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
             <div class="modal-dialog" role="document">
             <div class="modal-content">
             <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">New message</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                      <span aria-hidden="true">&times;</span>
                    </button>
                  </div>
                  <div class="modal-body">
                    <form action="MessageServlet" method="post">
                      <div class="form-group">
                        <label for="recipient-name" class="col-form-label">Recipient:</label>
                        <input type="text" class="form-control" id="recipient-name" value="svchaturvedi9@gmail.com" readonly="readonly">
                      </div>
                      <div class="form-group">
                        <label for="recipient-name" class="col-form-label">Your Email ID:</label>
                        <input type="text" class="form-control" id="email-name" name="email-name" placeholder="Email ID">
                      </div>
                      <div class="form-group">
                        <label for="message-text" class="col-form-label">Message:</label>
                        <textarea class="form-control" id="message-text" name="message-text"></textarea>
                      </div>


                  <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Send message</button>
                    </form>
                   </div> 
                  </div>

                </div>

              </div>

Моя цель заключается в том, чтобы, когда пользователь вводит значение в модальные поля и нажимает кнопку ОК, данные пользователя отправляются сервлету электронной почты.Спасибо

1 Ответ

0 голосов
/ 19 декабря 2018

Вы можете увидеть ниже пример.Замените второй и модальный код в соответствии с вашими потребностями.

setTimeout(function() {
    $('#myModal').modal('toggle');
}, 200);
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <p>Some text in the modal.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>
...