Как отправить скрытые данные при нажатии на изображение в цикле
это мой код
while ($row = $result->fetch_assoc())
{
$imgpath=$row['image_name'];
$id=$row['id'];
<input type="hidden" name="Id" value="' . $row['Id'] . '" >
здесь, когда я нажимаю отправить идентификатор на следующую страницу
<img src="'.$imgpath.'" height="170" width="600" title="album-name" class="img-responsive" alt=" " />
}
Могу ли я использовать форму для этого?
3 ответа
Решение
JQuery AJAX сделает работу. Вам просто нужно прикрепить к изображению функцию-обработчик события click для события. Нам не нужно hidden element
мы прикрепим $row['id']
к id
атрибут <img>
элемент, затем по клику, мы публикуем его через Ajax.
Попробуй это:
//First, make the id attribute of the <img> equal to $id($row['id'])
<img src="'.$imgpath.'" id="$id" height="170" width="600" title="album-name" class="img-responsive" alt=" " />
Затем добавьте обработчик событий:
$('body').on('click','img',function(){
var id = $(this).attr('id');// Get the id
$.post( "target.php", {id : id}, function( data ) {//Post the id to the target page
//Do whatever..
});
});
Попробуй это:
<a href="pageName.php"><img src="'.$imgpath.'" height="170" id=id="requestthis" width="600" title="album-name" class="img-responsive" alt=" " /></a>
<input type="hidden" id="hidden_user_id">
и вы можете использовать JS, как это:
<script type="text/javascript">
$(function() { //ready function
$('#requestthis').on('click', function(e){ //click event
e.preventDefault(); //prevent the click from redirecting you to "submitrequest.php"
var hidden_id = $('#hidden_user_id').val();
var url = "submitrequest.php?hidden_id="+hidden_id;
window.location.replace(url);
//OR
//window.location.href = url;
})
})
Вы можете использовать.base64_encode, это сделает идентификатор безопасным:
<a href="pageName.php?id='.base64_encode($id)'"><img src="'.$imgpath.'" height="170" width="600" title="album-name" class="img-responsive" alt=" " /></a>