php - 发布用 img 隐藏的 PHP 脚本

标签 php jquery html ajax

我有一个包含图片的页面,图片上有一个收藏图片的按钮。 如果他们点击按钮,我有一个 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/

相关文章:

php - 生成包含数据的页面而无需重新加载页面

javascript - 如何停止滑动,如果 flexslider 中只有一张图片

html - 维护友好列表 - 图片

jquery - CSS/Jquery 在父元素之后显示子元素

html - 同时实现两个条件的 CSS 路径

php - mod_php vs cgi vs fast-cgi

javascript - 使用 PHP、JQuery、Ajax 将电子邮件添加到 MySQL 数据库

php - Wordpress:按列对帖子进行排序的最佳方式

javascript - 循环遍历页面上所有选中的复选框并将 id 拉入数组不起作用

javascript - 即时修改的选择列表不会为新的第一个元素触发 onChange()