Пройдя поиск здесь, я решил задать свой вопрос, даже если он похож на некоторые другие.
Я хотел бы передать идентификатор модалу начальной загрузки. Внутри модальной формы следует заполнить данные, основанные на этом идентификаторе, а затем отправить. После отправки в модале также должно появиться сообщение «спасибо» (или первое должно быть закрыто, а второе — открыто).
Здесь я нашел довольно много идей, но из-за моего ограниченного понимания jQuery и Ajax я не могу найти решение.
Кнопки:
<a class="btn..." data-toggle="modal" data-target="#myModal" data-id="1">First Item</a>
<a class="btn..." data-toggle="modal" data-target="#myModal" data-id="2">Second Item</a>
Модальный:
<div id="myModal" class="modal hide fade">
<div class="modal-header">
<button class="close" data-dismiss="modal">×</button>
<!-- would be great to have data from my database already for the title -->
<h3><?php echo "$TitleBasedOnId"; ?></h3>
</div>
<div class="modal-body">
<div id="modalContent">
<form id="editData" role="form" method="post">
<!-- Form should populated with data from my MySQL database -->
<div class="form-group">
<div class="col-md-3">
<label for="user">User:</label>
<input class="form-control" name="user" type="text" id="user" value="<?php echo '$UsernameBasedOnId'; ?>" >
</div>
</div>
...
<button type="submit" class="btn...">Edit User</button>
</form>
</div>
</div>
<div class="modal-footer">
<a href="#" class="btn btn-info" data-dismiss="modal" >Close</a>
</div>
После отправки формы я хотел бы получить сообщение с благодарностью в том же или новом виде.
JQuery:
/* no idea */
Спасибо за вашу помощь!
Разметка для ваших кнопок должна быть:
<a class="btn..." data-toggle="modal" data-target="#myModal" data-id="1">First Item</a>
<a class="btn..." data-toggle="modal" data-target="#myModal2" data-id="2">Second Item</a>
<!-- The ID of the second modal is myModal2 -->
Следующее должно открыть второй модал, когда первый модал закрыт (hidden.bs.modal
):
//On DOM ready
$(function() {
//set up a listen to ... sense when the first modal is hidden ... and
$('#myModal').on('hidden.bs.modal',function() {
//...show the second modal
$('#myModal2').modal('show');
});
});
Других решений пока нет …