在链接点击上发布PHP变量

时间:2016-03-02 14:49:56

标签: javascript php jquery

所以我有一个表格,显示我游戏服务器上的所有在线玩家,我已经设置了一个脚本,可以Slap,Kick,Mute等等,我正在尝试使用JS在在线玩家表上有一个下拉memnu这让我啪啪,踢,静音等等但我不知道如何将$ playerid变量发布到脚本中以便它击败玩家。

这是我的桌子 当点击一巴掌或静音按钮时,我希望将$ playerid发布到q3 / slap.php文件

http://i.stack.imgur.com/lou3N.png

这是我的代码

function slap(){
  
    var playerid = $("#playerid").val();
  
    $.post("../q3/slap.php", { playerid: playerid }, function ( data ) {
    });
	return false;
}
		echo "<td align=center> $team </td>";
		echo "<td align=center><a href='user.php?id=".$row["DBID"]."' > $name </a></td>";
		echo "<td align=center> $group </td>";
		echo "<td align=center> $score </td>";
		echo "<td align=center> $ip </td>";
		echo "<td align=center>";
		echo "<div class=dropdown>";
		echo "<button class=dropbtn>Dropdown</button>";
		echo "<div class=dropdown-content onchange='this.form.submit()'>";
		echo "<a id=myLink href=# onclick='slap();return false;'>Slap</a>";
		echo "<a id=myLink href=# onclick='kick();return false;'>Kick</a>";
		echo "<a id=myLink href=# onclick='mute();return false;'>Mute</a>";
		echo "</div>";
		echo "</div>";
		echo "</td>";
		echo "</tr>";

1 个答案:

答案 0 :(得分:0)

您必须先更改您的html代码。不要多次使用相同ID的1次,并使用data-xxx属性传递参数

你可以这样做:

HTML

<div class="action" data-id-player="<?php echo $playerid ?>">
    <ol>
        <li><a href="" data-action="slap">slap</a></li>
        <li><a href="" data-action="kick">kick</a></li>
        <li><a href="" data-action="mute">mute</a></li>
    </ol>
</div>

你的jQuery脚本:

$('.action').on('click', 'a',function(){
    var playerid    = $(this).parent().attr('data-id-player');
    var action      = $(this).attr('data-action');
    var url ='';

    switch(action) {
        case 'slap':
            url = 'slap.php';
        break;
        case 'kick':
            url = 'kick.php';
        break;
        case 'mute':
            url = 'mute.php';
        break;

        default:
        break;
    }
});

$.ajax({
    url : href,
    method: "POST",
    async : false,
    data: { your_data(the id of player)  }
    success : function(response){
          // Do somethings
    }
}); 

编辑:你的代码...... 您必须将JS和PHP分成2个文件。我没有对代码进行测试,因此请务必将其正确添加到您的代码中。

        echo "<td align=center> $team </td>";
        echo "<td align=center><a href='user.php?id=".$row["DBID"]."' > $name </a></td>";
        echo "<td align=center> $group </td>";
        echo "<td align=center> $score </td>";
        echo "<td align=center> $ip </td>";
        echo "<td align=center>";
        echo "<div class=dropdown>";
        echo "<button class=dropbtn>Dropdown</button>";
        echo "<div class=dropdown-content onchange='this.form.submit()'>";
?>
        <div class="action" data-id-player="<?php echo $row["DBID"] ?>">
            <ol>
                <li><a href="" data-action="slap">slap</a></li>
                <li><a href="" data-action="kick">kick</a></li>
                <li><a href="" data-action="mute">mute</a></li>
            </ol>
        </div>
<?php

        echo "</div>";
        echo "</div>";
        echo "</td>";
        echo "</tr>";


jQuery(document).ready(function(){

    $('.action').on('click', 'a',function(){
        var playerid    = $(this).parent().attr('data-id-player');
        var action      = $(this).attr('data-action');
        var url ='';

        switch(action) {
            case 'slap':
                url = 'slap.php';
            break;
            case 'kick':
                url = 'kick.php';
            break;
            case 'mute':
                url = 'mute.php';
            break;

            default:
            break;
        }
        $.ajax({
            url : "../q3/"+action,
            method: "POST",
            async : false,
            data: { playerid: playerid)  },
            success : function(response){
                  // Do somethings
            }
        }); 

    });
});