php - 选择提交表单的id以放入jquery变量

标签 php mysql ajax jquery

我正在制作一个笑话网站。每个笑话都存储在 mysql 数据库的一条记录中。当笑话放在页面上时,会出现一个带有 class=votebutton 的投票按钮。当有人单击此按钮时,我希望通过 jquery 的 ajax 函数将表单的 id 和用户的 IP 地址发送到我的投票处理 .php 文件。我有两个问题: 1. 使用 $(".votebutton").click() 作为选择器来运行此函数是否正确? 2. 如何选择正在提交的表单的id来构造jquery函数中的id变量?

 $(function() {
      $(".votebutton").click(function() {
      var id = //I'd like this to be the id of the form submitted
      var ip = //I'd like this to be the ip of the user
      var dataString = 'id='+ id = '&ip=' + ip;
      //alert (dataString);return false;
      $.ajax({
        type: "POST",
        url: "bin/vote.php",
        data: dataString,
        success: function() {
          //something to do on success
        }
      });
      return false;
   });
 });

另外,如果你们有时间的话,还有一个问题 - 获取访问者 IP 的好方法是什么。我预计每页大约有 10 个这样的表格(每个笑话一个)...

非常感谢您的帮助...

最佳答案

Is it right to use $(".votebutton").click() as the selector

是的

How do I select the id of the form being submitted

常见的做法是将 ID 存储为元素 ID 的一部分,例如:

<button id="vote_54321" value="Vote!" class="votebutton" />

然后,在您的函数中您可以获得 ID:

var id = $(this).attr('id').split('_')[1];

无法从 javascript 获取客户端 IP,您应该在服务器端 php 代码中获取它:

$userip = $_SERVER['REMOTE_ADDR'];

关于php - 选择提交表单的id以放入jquery变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5229478/

相关文章:

php - 如何将数据库值存储为逗号分隔?

mysql - 为什么在 MyISAM 中,计数查询在数据较少时比数据较多时运行得慢

python - 在 python 中将准备好的语句与 mysql 一起使用

MySQL查询得到产品有多种颜色并按颜色产品有的数量排序

php - Symfony2 使用 json 进行 ajax 请求

javascript - 我如何缩短这个负载 jQuery?

php/javascript/ajax 提交表单 > 将数据保存到数据库 > 更新网站上的数据

php - 将 PHP/MySQL 请求转换为 jQuery AJAX 请求

php - 使用 PHP 的分页代码中缺少 Ahref 链接

php - 不被其他数字包围的 RegEx 数字