javascript - 如何从按钮列表中获取按钮的 ID?

标签 javascript php html mysql button

我对 php 和 javascript 的工作不多,希望能得到一些帮助。我希望能够准确检测到哪个按钮被点击了。我正在每行创建一个按钮,但我不知道如何确定点击发生在哪一行。这就是我目前所拥有的...

    # Get all the table data from the database
$getData = mysqli_query($conn, "SELECT * FROM `query_table`") or die ("Error occured while selecting!");

// echo '<form method="post" action="index.php">';
echo '<table border="1">';

echo '<tr>';
echo '<td>Questions</td>';
echo '<td>Likes</td>';
echo '<td></td>';
echo '</tr>';

# Loop through each row and print out the question
while ($row = mysqli_fetch_array($getData)) {
    echo '<tr>';
        echo '<td>';
            echo $row['Question'];
        echo '</td>';

        echo '<td>';
            echo $row['Likes'];
        echo '</td>';

        echo '<td>';
        ?>

            <input type="button" id="myButton" value="Like" onclick="myFunc(<?=$row['ID']?>)" />

        <?php
        echo '</td>';
    echo '</tr>';
}

echo '</table>';
// echo '</form>';
echo '<p id="text"></p>';

mysqli_close($conn);
?>

<script type="text/javascript">
function myFunc(id) {
    document.getElementById("text").innerHTML = id;
}
</script>

到目前为止,这会打印出单击按钮的行 ID,但我不认为我可以将该参数值直接分配给一个 php 变量,然后我可以将其用于 mysql 查询。这种事情一般是怎么做的,求助。

最佳答案

<input type="button" data-id="<?=$row['ID']?>" value="Like" onclick="myFunc(this)">

<script type="text/javascript">
function myFunc(button) {
    document.getElementById("text").innerHTML = button.getAttribute('data-id');
}
</script>

在 JavaScript 中, token “this”指的是代码运行的上下文,在本例中是按钮。将自定义数据存储在以数据为前缀的属性中 - 以确保它们不受干扰 - 标准做法。

关于javascript - 如何从按钮列表中获取按钮的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28934782/

相关文章:

javascript - 如何在express(nodejs)中的路由之间共享/存储数据?

javascript - 在 HTML 中使用 JSON 脚本并显示数据

html - 自动调整与另一个成比例的绝对 div 的高度

html - 截断 html 表内字符串的另一端

javascript - $(...).datetimepicker 不是函数

php - 如何检查用户是否喜欢 facebook 应用程序?

php - 在 php/mysql 中显示 sql 查询进度

php - 使用准备好的语句更新并使用 id 绑定(bind)行

html - 为什么悬停在标题上不显示?

javascript - 为什么我不能动态创建 html 元素?