Итак, у меня есть кнопка, дающая прямую ссылку на модальную на той же странице.
это кнопка и URL-адрес
<a data-toggle="modal"
href="main_user.php?user_id=<?php echo $user['user_id']; ?>#myModal"
class="btn btn-warning">
(Я пытаюсь повторить $user_id
до #modal
), правильно?
и после того, как я нажму кнопку, появится модальная мода. Это модальная форма.
<form class="form-login" action="action/doEditUserStatus.php" method="post">
<div class="login-wrap">
<div class="changestatus">
<p>Banning or Activing User Status</p></div>
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-success active">
<input type="radio" name="options" value="1" autocomplete="off" checked> Actived
</label>
<label class="btn btn-primary">
<input type="radio" name="options" value="2" autocomplete="off"> Banned
</label>
</div>
</div>
<div class="modal-footer">
<button data-dismiss="modal" class="btn btn-default" type="button">Cancel</button>
<button class="btn btn-theme" name="modalSubmit" type="submit">Submit</button>
</div>
</form>
И затем я пытаюсь представить модальную форму, но действие не может прочитать $user_id
который я поставил перед #modal
.
UPDATE: Код таблицы:
Итак, это моя таблица:
<tr class="success">
<th class="numeric">ID</th>
<th class="numeric">E-mail</th>
<th class="numeric">Name</th>
<th class="numeric">Phone</th>
<th class="numeric">Picture</th>
<th class="numeric">Status</th>
<th colspan="2" class="numeric">Action</th>
</tr>
<tr>
<td class="numeric"><?php echo $user['user_id']; ?></td>
<td class="numeric"><?php echo $user['email']; ?></td>
<td class="numeric"><?php echo $user['name']; ?></td>
<td class="numeric"><?php echo $user['phone']; ?></td>
<td class="numeric"><?php echo $user['picture']; ?></td>
<td class="numeric">
<a data-toggle="modal" href="main_user.php?user_id=<?php echo $user['user_id']; ?>#myModal" class="btn btn-warning">
<span class="glyphicon glyphicon-edit" aria-hidden="true"></span> Change Status
</a>
</td>
</tr>
Основная проблема заключается в следующем: когда я нажимаю кнопку, появляется модальная $user_id
но она не может получить $user_id
с этой кнопки?
Поместите скрытое поле ввода с user_id в вашу форму:
<input type="hidden" name="user_id" value="<?php echo $user['user_id']; ?>">
EDIT: Если вы имеете в виду Bootstrap, попробуйте следующее:
Ссылка/кнопка:
<a data-toggle="modal" data-userid="<?php echo $user['user_id']; ?>"
href="main_user.php#myModal"
class="btn btn-warning">
Скрытое поле формы:
<input type="hidden" name="user_id" value="">
Javascript:
$('#myModal').on('show.bs.modal', function(e) {
var userid = $(e.relatedTarget).data('userid');
$(e.currentTarget).find('input[name="user_id"]').val(userid);
});
См. Также http://getbootstrap.com/javascript/#modals-related-target и Передача данных в загрузочный модальный
Вы должны были упомянуть Bootstrap в своем вопросе. PHP не является соответствующим тегом.
Это будет работать, если ваша ссылка будет перенаправлена:
Вам нужно будет добавить скрытый ввод в вашу форму с переменной $_GET['user_id']
(которая содержит значение параметра в URL $_GET['user_id']
):
<input type="hidden" name="user_id" value="<?php echo (int)$_GET['user_id'] ?>" />
но, если я прав, эта ссылка является дескриптором бутстрапа twitter, который предотвратит его поведение по умолчанию. Таким образом, фактического перенаправления нет. Что вы можете сделать, это использовать атрибут пользовательских данных в ссылке:
<a data-toggle="modal"
data-userid="<?php echo $user['user_id']; ?>"
href="#myModal"
class="btn btn-warning">
И обработайте это с помощью javascript, чтобы добавить скрытое поле ввода в форму:
$(document).ready(function(){
$('[data-userid]').click(function(){
var userid = $(this).data('userid');
var form = $('form.form-login');
var input = $('<input type="hidden" name="user_id" value="'+userid+'" />');
if (form.find('input[name="user_id"]').length) {
form.find('input[name="user_id"]').val(userid);
} else {
form.prepend(input);
}
});
});
<input type="hidden" name="user_id" value="10" />