Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择要提交到jquery变量中的表单的id_Php_Mysql_Ajax_Jquery - Fatal编程技术网

Php 选择要提交到jquery变量中的表单的id

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

我正在制作一个笑话网站。每个笑话都存储在mysql数据库中的一条记录中。当笑话放在一个页面上时,会有一个投票按钮,上面有
class=votebutton
。当有人点击这个按钮时,我希望表单的id和用户的IP地址通过jquery的ajax函数发送到我的vote processing.php文件中。我有两个问题: 1.使用
$(“.votebutton”)是否正确。单击()
作为选择器来运行此函数? 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张这样的表格(每个笑话一张)

非常感谢你的帮助

  • 是的,应该可以。它将用该类绑定所有元素
  • jQuery(this.attr('id')
    应该为您提供元素的id
  • 不过,我对IP不太清楚

    使用正确吗 $(“.votebutton”)。单击()作为 选择器

    如何选择表单的id 提交

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

    <button id="vote_54321" value="Vote!" class="votebutton" />
    
    无法从javascript获取客户端IP,您应该在服务器端php代码中获取:

    $userip = $_SERVER['REMOTE_ADDR'];
    
  • 最好使用“提交”作为事件-这样您可以使用tab和return导航到表单元素。将提交处理程序附加到表单,而不是按钮

  • 如果您使用“提交”,则“此”已经是表单,因此您可以执行
    $(this.attr('id')


  • 使用.votebutton进行单击是正确的


    单击该按钮时,只需访问父项的id$(this).parent().attr('id')

    每个投票按钮都需要单独的表单。。
    $userip = $_SERVER['REMOTE_ADDR'];