如何获取我点击的按钮的 ID

长话短说:我正在尝试创建类似于从数据库中获取的帖子的社交媒体提要。我遇到的问题是喜欢系统。我正在将数据提取到 HTML div,一切都很好,每个帖子都因其分配的 postid 不同(回显 id 为每个帖子返回正确的 id)。


问题开始的地方是将单击的特定按钮的 postid 放入 javascript 变量并稍后放入 php 脚本。我有 postids 为“62、61、60、59 等”的帖子,但 getElementById("idOfClickedButton).textContent(现在我在按钮中回显了它)只有 62,无论我点击哪一个。相同getElementById("idOfClickedButton).value 的东西,但是这个获取每个按钮的最后一个加载的帖子(假设为 53 或 43)。


我想知道如何将分配的 postid 传递给 js 变量。


//PHP variable of postid

$id=$row['p_id'];


//that's the paragraph that checks the postid

<p id="likeit" onclick="check()"><?php echo $id ?></p>


//JS script that checks the postid

<script>

function check(){

    var p = document.getElementById("likeit").textContent;

    console.log(p);

}

</script>

AJAX 调用有效,所以我不包括在内。尽管每个段落都有不同的 textContent 显示,但控制台上方的代码会为每个段落记录“62”。img 的 HTML 外观并显示正确的 postid突出显示的是用于检查 id 的段落,上面的按钮用于 AJAX 调用。


拉风的咖菲猫
浏览 333回答 2
2回答

动漫人物

<p id="likeit" onclick="check(this)"><?php echo $id ?></p>将此添加到函数中&nbsp; function check(el){&nbsp; &nbsp; &nbsp; &nbsp; var p = document.getElementById("likeit").textContent;&nbsp; &nbsp; &nbsp; &nbsp; console.log(p);&nbsp; &nbsp; &nbsp; &nbsp; console.log(el.id);&nbsp; &nbsp; }

慕田峪7331174

对于任何想了解我的方法的人://input inside a form<input type="submit" onclick="check(this)" value="<?php echo $id ?>">//AJAX call with value checkfunction check(el){var pid = el.value;console.log(pid);$('form').submit(function(e) {&nbsp; &nbsp; e.preventDefault();&nbsp; &nbsp; e.stopPropagation();&nbsp; &nbsp; $.ajax({&nbsp; &nbsp; &nbsp; &nbsp; type: 'POST',&nbsp; &nbsp; &nbsp; &nbsp; url: 'url',&nbsp; &nbsp; &nbsp; &nbsp; data: {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; liked: 1,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pid: pid }&nbsp; &nbsp; });&nbsp; &nbsp; return false;});&nbsp;}尽管此解决方案将已点击的值存储在一个变量中,但每次点击都会有效地输入 +1 记录。需要进一步调整
打开App,查看更多内容
随时随地看视频慕课网APP