Передача значений из модема начальной загрузки Twitter, когда пользователь нажимает кнопку отправки - PullRequest
0 голосов
/ 21 мая 2018

У меня есть значок отправки почты, приходящий динамически в зависимости от пользователей в базе данных.Когда пользователь нажимает на значок почты, я вызываю функцию, чтобы открыть модальное диалоговое окно начальной загрузки с именем (текстовое поле) и описанием (текстовое поле).В моем моде начальной загрузки есть две кнопки, одна из которых - кнопка отмены, а другая - кнопка sendmail. Когда пользователь нажимает кнопку sendmail, я не понимаю, как отправить описание и имя пользователя как часть запроса ajax?

<?php foreach ($coaches as $key => $coach) {?>
<a class="u-icon-v1" href="javascript:" onclick="openModal('<?php echo $coach['id']?>','<?php echo $coach['name']?>')" data-toggle="modal" data-target="#exampleModal" data-whatever="<?php echo $coach['id']?>">
<i class="icon-envelope-letter"></i></a>
<?php } ?>

модальный режим начальной загрузки

function openModal(id,name){    
$('#exampleModal').on('show.bs.modal', function (event) {
     var button = $(event.relatedTarget) 
  var recipient = button.data('whatever')
// How to call call function when user click on sendmail button?
});

модальный режим начальной загрузки

<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>
          <div class="form-group">
            <label for="recipient-name" class="col-form-label">Mail To:</label>
            <input type="text" name="mailto" id="mailto" class="form-control" id="recipient-name" readonly="readonly">
          </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>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary" onclick="sendMail()"  id="sendmessage">Send Mail</button>
      </div>
    </div>
  </div>
</div>

1 Ответ

0 голосов
/ 21 мая 2018

Есть несколько способов сделать это.Вы уже вызвали метод с именем sendMail().Вы можете получить нужные значения внутри этого метода, как показано ниже: -

function sendMail(){
  //var name = $("#mailto").val();
  var description = $("#message_text").val();

  $.ajax({
    type:"POST",
    data:{mailto: mailto, description:description},
    url: "your url",
    success: function(response){
   }
  });
}

Когда вы вызываете эту функцию openModal(), вы можете передать значение mailto в качестве третьего аргумента, например openModal(id, name, mailto), и обновить это поле вводазначение с использованием нового значения и затем откройте ваш модальный.Таким образом, эта информация будет отличаться для каждой записи.проверьте код ниже для функции openModal ()

function openModal(id,name, mailto){    
$("#mailto").val(mailto);
$('#exampleModal').on('show.bs.modal', function (event) {
     var button = $(event.relatedTarget) 
  var recipient = button.data('whatever')
// How to call call function when user click on sendmail button?
});

Надеюсь, теперь вы можете сделать это, используя этот фиктивный код.Теперь вы можете спросить, что будет с моим модалом.Спрячьте, когда кто-нибудь получит положительный ответ от вашего вызова ajax, используя $("#exampleModal").modal('hide');

...