как передать идентификатор из модального в boostrap в файл PHP - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь передать значение id из php в модальное.id, который я пытаюсь отправить, происходит из цикла.Поэтому я пытаюсь отправить значение с помощью ajax.Значение, которое я хочу отправить, отображается в консоли, но не отображается в браузере.Я проверил сеть tab и вижу полный URL с желаемым id.Ниже мой код, который я пробовал до сих пор.

$(".manage_permission_button").click(function() {
  var user_id = $(this).attr('user_id');
  $.ajax({
    type: 'GET',
    url: 'assets/pages/manage_users/modal_content_manage_users.php',
    data: {
      user_id: user_id
    },
    success: function(response) {
      console.log(response);
      alert(response);
      $('#myModal').modal('toggle');
    },
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button user_id="<?php echo $value['_id'];?>" type="button" class="btn btn-primary btn-xs manage_permission_button">Manage Permission</button>

<?php echo $a=$_GET['user_id'];?>

enter image description hereenter image description here

РЕДАКТ. 1: Как вы можете видеть на изображенияхзначение не извлекается из кода PHP, но отображается в консоли, и когда я физически перехожу на этот конкретный URL

РЕДАКТИРОВАТЬ 2: Это модальный код

<div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
     <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Manage Permissions <?php echo $a=$_REQUEST['user_id'];?></h4>
        </div>
        <div class="modal-body">
        		<div class="row">
        			<form action="" method="POST"> 
						<?php include 'permissions.php';?>
							<!-- END TABLE STRIPED -->
							<div class="container-fluid">
								<button type="submit" class="btn btn-primary" name="btn_user_permissions">Submit</button>
							</div>
						</form>
						</div>
					</div>
        </div>
        
      </div>
      
    </div>
  </div>

Ответы [ 3 ]

0 голосов
/ 24 апреля 2018

У вас есть user_id из button, по которому вы нажимаете, поэтому нет необходимости вызывать ajax.

Если вы хотите отобразить ID пользователя в модальном режиме, сделайте что-то подобное

$(".manage_permission_button").click(function() {
    var user_id = $(this).attr('user_id');
    $('#myModal .elementToShowId').html(user_id);
    $('#myModal').modal('toggle');
});

Так что теперь, когда вы нажимаете кнопку с классом manage_permission_button, вы открываете модальное и вставляете id, используя js.Нет необходимости в AJAX.

EDIT

$(".manage_permission_button").click(function() {
    var user_id = $(this).attr('user_id');
    $('#myModal .modal-title').html("Manage Permissions " + user_id);
    $('#myModal').modal('toggle');
});

Это должно работать.Попробуйте.

EDIT2

Если вы действительно хотите использовать ajax, вы можете получить модальное использование ajax.

Для этого переместите ваш модальный код вотдельный файл, например myModal.php, и выведите его.

Затем в js сделайте что-нибудь подобное

$(".manage_permission_button").click(function() {
    var button = $(this),
        user_id = button.attr('user_id');

    $.ajax({
        type: 'GET',
        url: 'assets/pages/manage_users/myModal.php',
        data: {
            user_id: user_id
        },
        success: function(response) {
            $(response).insertAfter(button);
            $('#myModal').modal('show');
        },
    });
});

$('#myModal').on('hidden.bs.modal', function () {
    $(this).remove();
});

Но я не рекомендую этот метод.Использование ajax не нужно.

0 голосов
/ 24 апреля 2018

Ответ от @Krzysztof Janiszewski правильный.В вашем случае js-код будет:

$(".manage_permission_button").click(function() {
  var user_id = $(this).attr('user_id');
  $('#myModal .modal-title').text('Manage Permissions ' + user_id);
  $('#myModal').modal('toggle');
});

Кстати, я думаю, вы должны отредактировать форму в модале, следуя форме из вашего php-файла modal_content_manage_users.php.И, вероятно, вам нужно будет также передать user_id в скрытый ввод.

0 голосов
/ 24 апреля 2018
$(".manage_permission_button").click(function() {
  var user_id = $(this).attr('user_id');
  $.ajax({
    type: 'GET',
    url: 'assets/pages/manage_users/modal_content_manage_users.php?user_id='+user_id,
    dataType: "html",       
    success: function(response) {
      console.log(response);
      alert(response);
      $('#myModal').modal('toggle');
    },
  });
});

Это должно сработать, попробуйте один раз! обновление мой ответ

...