Добрый день. Подскажите: есть форма с данными из БД, по клику мышкой на строке хочу передать ИД строки в модальное окно и там его обрабатывать. Передаю аяксом. И как мне кажется, все верно. Укажите на ошибку, что делаю не так, пожалуйста.
Отсюда надо передать:
<div class="layout-positioner">
<table id="tbl_user_role" border="1">
<thead>
<tr>
<th>№</th>
<th>ФИО пользователя</th>
<th>E-mail</th>
<th>Активен (Да/Нет)</th>
<th colspan=4>Опции</th>
</tr>
</thead>
<tbody>
<?php if(!empty($data)){?>
<?php foreach($data as $d){
$id=$d['user_id'];
?>
<tr id="<?php echo $id; ?>" class="edit_modal">
<td><?php echo $d['user_id'];?></td>
<td><?php echo $d['full_name'];?></td>
<td><?php echo $d['email'];?></td>
<td><input type="checkbox" <?php if ($d['is_active'] == '1') {echo 'checked="checked"';}?> ></td>
<td>
<a title="Редактировать выделенную запись" href="role_user.php?edit_id=<?php echo $d['user_role_id'];?>"><span class="glyphicon glyphicon-edit"></span></a>
</td>
<td>
<a title="Копировать выделенную запись" href="role_user.php?copy_id=<?php echo $d['user_role_id'];?>"><span class="glyphicon glyphicon-book"></span></a><br>
</td>
<td>
<a title="Удалить выделенную запись" href="role_user.php?delete_id=<?php echo $d['user_role_id'];?>"><span class="glyphicon glyphicon-remove"></span></a><br>
</td>
</tr>
<?php }?>
<?php }else{?>
<tr><td colspan=4>В базе нет записей</td></tr>
<?php }?>
</tbody>
</table>
</div>
Потом JS: передаю DataString и думаю, что получу его в $_POST в modal_window.php. Не получаю. А если в span в том же modal_window.php передаю значение $('#row_id').val(id) - оно там есть. Что в JS нет так? Или я его (dataString) ожидаю не там?
$(document).ready(function() {
$('.edit_modal').click( function(event){
event.preventDefault();
var id = $(this).attr("id");
var dataString = "user_id="+ id;
$.ajax({
type: "POST",
url: 'modal_window.php',
data: dataString,
cache: false,
success: function()
{
$('#overlay').fadeIn(400,
function(){
$('#modal_form')
.css('display', 'block')
.animate({opacity: 1, top: '50%'}, 200);
});
$('#row_id').val(id);
}
});
});
$('#modal_close, #overlay').click( function(){
$('#modal_form')
.animate({opacity: 0, top: '45%'}, 200,
function(){
$(this).css('display', 'none');
$('#overlay').fadeOut(400);
}
);
});
});
Модальное окно - modal_window.php:
<?php
require("constants.php");
$con = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME)
or die("Ошибка " . mysqli_error($con));
if($_POST['user_id'])
{
$user_id=$_POST['user_id'];
}
?>
<div id="modal_form">
<span id="modal_close" class="glyphicon glyphicon-remove"></span>
<form action="" method="post">
<input type="input" id="row_id" value="100500" name="span_value">
<table id="tbl_user_role" border="1">
<thead>
<tr>
<th>Пользователь</th>
<th>Роль</th>
</tr>
</thead>
<?php
$new_query = "select * from tbl_user_role where user_id=$user_id;";
$new_result=mysqli_query($con,$new_query) or die("Ошибка " . mysqli_error($con));
while ($row = mysqli_fetch_array($new_result)) :
$id = $row['user_role_id'];
$user_id = $row['user_id'];
$role_id = $row['role_id'];
?>
<tbody>
<tr>
<td><?php echo $user_id; ?></td>
<td><?php echo $role_id; ?></td>
</tr>
</tbody>
<?php endwhile; ?>
<tr colspan=2></tr>
</table>
</form>
</div>
<div id="overlay"></div>