PHP: как поместить и передать переменную в модальный URL

0

Итак, у меня есть кнопка, дающая прямую ссылку на модальную на той же странице.

это кнопка и 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>&nbsp;Change Status
        </a>
   </td>
</tr>

Основная проблема заключается в следующем: когда я нажимаю кнопку, появляется модальная $user_id но она не может получить $user_id с этой кнопки?

  • 0
    Почему вы хотите передать идентификатор пользователя в кнопку, которая находится здесь, чтобы переключить модальное поле?
  • 0
    Как сказал @hellcode: <input type="hidden" name="user_id" value="10" />
Показать ещё 3 комментария
Теги:

2 ответа

2
Лучший ответ

Поместите скрытое поле ввода с 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 не является соответствующим тегом.

  • 0
    это не рабочий человек, потому что, если я попробую таким образом, $ user ['user_id'] не будет содержать $ user_id, который я выберу.
  • 0
    посмотрите, я уже опубликовал свой стол
1

Это будет работать, если ваша ссылка будет перенаправлена:

Вам нужно будет добавить скрытый ввод в вашу форму с переменной $_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);
        }
    });
});
  • 0
    это не работа, человек, потому что, если я попробую таким образом, $ _GET ['user_id'] не будет содержать $ user_id, который я выберу.
  • 0
    посмотрите, я уже опубликовал свой стол
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню