我有一个包含图片的页面,图片上有一个收藏图片的按钮。 如果他们点击按钮,我有一个 PHP 脚本可以将图像添加到他们的收藏夹。
我想执行 PHP 代码而不用进入带有 PHP 脚本的页面。
我的html是这样的:
<div id="image">
<form action="favoriet.php" method="post">
<input type="hidden" name="aid" value="<?php echo $subimgid?>">
<input type="image" src="/media/img/icons/twitter.png" alt="Submit button">
</form>
</div>
所以我将 subimgid 发布到 favoriet.php 并在 favoriet.php 中运行脚本,使用发布的值辅助和 session 用户 ID 将其插入数据库。 一切正常,但我不希望页面 favoriet.php 在屏幕中打开。
我认为需要 jQuery/ajax,不确定。
最佳答案
我要做的是向 img favimg
添加一个类,然后添加另一个名为 data-id
的属性来保存 id。然后你可以直接在图像上使用 jQuery 而不需要表单。
下面的代码将使用存储在 data-id
属性中的 ID 向 favoriet.php
提交一个 POST 请求
<img class='favimg' data-id="<?php echo $subimgid?>" src="/media/img/icons/twitter.png" alt="Submit button">
<script>
$('.favimg').click(function() {
$.post('favoriet.php', { aid: $(this).attr('data-id')});
});
</script>
旁注:替代文字应该说明图像。因此,如果图像是 Twitter Logo ,我会使用“Twitter”作为替代文本。这将为搜索引擎创建更好的索引。
如果页面上只有一张图片并且其目标是提交完整的表单,则 submit button
的 alt 很有用。您要提交的是“我点击了推特按钮”,因此我的用户必须知道它包含推特 Logo 。
关于php - 发布用 img 隐藏的 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359401/