Я делаю простую страницу, и я нашел эту небольшую проблему. У меня это в моем шаблоне:
<?php foreach ($this->vypis_serie as $value) : ?> <div class="serie"> <div id="serie_header"> <a href="cviceni/cislo/<?= $value['id_serie'] ?>"><?= $value['nazev_cviceni'] ?></a> </div> <div id="serie_info"> <p>Number of excercises: TODO</p> <p>Sport type: <?= $value['typ'] ?></p> <p>KCal summary: <?= $value['kcal'] ?></p> </div> <div class="button_upravit"><a href="#openModal_edit">Edit</a></div> <div class="button_smazat"><a href="serie/smazat/<?= $value['id_serie'] ?>" onclick="return confirm('Are you sure you want to delete it?');">Delete</a></div> </div> <?php endforeach; ?>
в основном это блок, который заполняет информацию об определенных упражнениях (это спортивное приложение). SO Если у меня есть 3 записи в БД, он будет печатать этот код три раза с соответствующей информацией.
Проблема у меня есть с кнопкой редактирования, которая после нажатия открывает окно модальное. Это сделано исключительно с CSS, поэтому нет Javascript.
Когда я нажимаю кнопку, он переходит к этому коду:
<div id="openModal_edit" class="modalDialog"> <div> <a href="#close" title="Zavřít" class="close">X</a> <div id="editace"> <form id="platba" action="serie/edit/" method="post" enctype="multipart/form-data"> <fieldset> <legend>Edit serie</legend> <ol> <li> <label for="name">Name of the series</label> <input id="name" name="nazev_cviceni" type="text" required autofocus> </li> <li> <label for="typ">Sport type</label> <select name="typ"> <option value="Kolo">Bike</option> <option value="Běhání" selected="selected">Running</option> </select> </li> </ol> </fieldset> <fieldset> <button type="submit">Save</button> </fieldset> </form> </div> </div> </div>
Но поскольку я перехожу к div id, и я не использую новую страницу, где я мог бы выбрать контроллер и передать переменную, мне нужно каким-то образом передать переменную (id упражнения) в модальное окно, чтобы я мог знать, какой из возможные кнопки, которые я нажал. Есть ли способ сделать это, без необходимости переписывать все другие страницы, где я использовал это модальное окно?
Я не могу использовать другой foreach
как в первой части, потому что модальное окно всегда представляет собой единственный объект, который появляется, в отличие от всех записей на странице, которые там столько раз, сколько есть записей в БД.
Надеюсь, что это понятно, извините за мой английский 🙂