我使用表单将图片ID提交到另一个页面。我做了这个而不是通过网址,因为它使网址更干净。但是,当用户现在重新加载时,它会询问是否要再次提交表单。他们不知道他们已经提交了一份表格,只要他们知道他们只是点击了一张图片并被带到了一个显示该图片更大的页面。
有什么方法可以保存隐藏表单字段通过表单发送的图像ID,还是为用户刷新页面?
HTML
<a class="gallery-img span4 js-img-submit" href="#">
<img src="img.jpg"/>
<form action="/image" method="post">
<input type="hidden" value="<?=$img['id']; ?>" name="image_id"/>
</form>
</a>
JQUERY
$('.js-img-submit').click(function(){
$(this).find('form').submit();
})
PHP
$image_id = isset($_POST['image_id']) ? $_POST['image_id'] : false;
答案 0 :(得分:0)
不知何故,该参数需要发送到图片页面。
所以,我想以下几点:
使用#标签,然后通过javascript加载图像。最后删除标签:
的MainPage:
<a class="gallery-img span4 js-img-submit" href="/image#<?=$img['id']; ?>">
<img src="img.jpg"/>
</a>
ImagePage:
<script language="javascript">
$(document).ready(function(){
var imgid = document.location.hash.slice(1);
document.location.hash = ""; //Remove
loadImage(imgid);
})
</script>
loadImage然后需要是必需的javascript函数。
用户可能会暂时注意到它。如果不允许用户查看,那么你唯一的办法就是为每个打开的图像窗口使用带有单独变量的PHP Session。
答案 1 :(得分:0)
您可以这样做:
$('.js-img-submit').click(function()
{
$.post("image.php", {id: $(this).find('input').val()});
})