За последние 24 часа нас посетили 22543 программиста и 1209 роботов. Сейчас ищут 712 программистов ...

Проблема с передачей переменной в popup окно

Тема в разделе "JavaScript и AJAX", создана пользователем Flip, 28 май 2022.

  1. Flip

    Flip Активный пользователь

    С нами с:
    9 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Здравствуйте.

    Нашел в интернете пример popup-окна. Хочу использовать его для добавления данных в MySQL.

    Но никак не помогу осилить, как передать значение нужной переменной в само popup-окно. Пересмотрел много вариантов и ответов на подобный вопрос, но так ничего и не получилось.

    Помогите решить проблему.

    Вот код окошка:
    HTML:
    1. <div class="modal" aria-hidden="true">
    2.   <div class="modal-dialog">
    3.     <div class="modal-header">
    4.       /* В заголовок нужно передать переменную и добавить её в скрытый input */
    5.       <h2><?php echo "Нужная мне переменная"; ?></h2>
    6.       <a href="#" class="btn-close closemodal" aria-hidden="true">&times;</a>
    7.     </div>
    8.     <div class="modal-body">
    9.       <p><input type="hidden" name="name1" value="<?php echo "Нужная мне переменная"; ?>"  /></p>
    10.       <p><input type="text" name="name2" placeholder="Поле 1" size="20" /></p>
    11.       <p><input type="text" name="name3" placeholder="Поле 2" size="20" /></p>
    12.       <p><TEXTAREA class="a" NAME="name4" COLS=45 ROWS=5 placeholder="Поле 3..."></TEXTAREA></p>
    13.     </div>
    14.     <div class="modal-footer">
    15.       <a href="#" class="btn">Отправить</a>
    16.       <a href="#" class="btn closemodal">Закрыть</a>
    17.     </div>
    18.   </div>
    19. </div>
    Вот код, где надо передать значение переменной:
    PHP:
    1. ...
    2. // Здесь значение переменной $f['Cat'] необходимо передать в popup-окно
    3. echo "<td><a href='#?id=" . $f['Cat'] . "' class='btn-big openmodal'>Добавить</a></td>";
    4. ...
    Код JavaScript:

    Код (Javascript):
    1. $('.openmodal').click(function (e) {
    2.          e.preventDefault();
    3.          $('.modal').addClass('opened');
    4.     });
    5. $('.closemodal').click(function (e) {
    6.          e.preventDefault();
    7.          $('.modal').removeClass('opened');
    8.     });
     
  2. amberson

    amberson Активный пользователь

    С нами с:
    23 июл 2020
    Сообщения:
    62
    Симпатии:
    14
    PHP:
    1. // Здесь значение переменной $f['Cat'] необходимо передать в popup-окно
    2. echo "<td><a href='#' data-cat='" . $f['Cat'] . "' class='btn-big openmodal'>Добавить</a></td>";
    Код (Javascript):
    1. $('.openmodal').click(function (e) {
    2.   e.preventDefault();
    3.  
    4.   var cat = $(this).data('cat');
    5.  
    6.   $('.modal h2').html(cat);
    7.   $('.modal input[name="name1"]').val(cat);
    8.   $('.modal').addClass('opened');
    9. });
     
  3. Flip

    Flip Активный пользователь

    С нами с:
    9 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    @amberson, спасибо )

    Правда, переменная так и не передаётся или я чего-то не так делаю.

    Ведь, как я понимаю, при нажатии на ссылку открывается окошко, а в нём уже должно отображаться значение переменной?

    Ссылка на сам js в конце кода блока popup.
     
  4. amberson

    amberson Активный пользователь

    С нами с:
    23 июл 2020
    Сообщения:
    62
    Симпатии:
    14
    Все верно, так и есть.

    Вот тут работающий пример.
    https://codepen.io/johnsmith234/pen/gOvvoZW
     
  5. Flip

    Flip Активный пользователь

    С нами с:
    9 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    @amberson, спасибо огромное за помощь! Всё работает, как надо.