gpt4 book ai didi

javascript - 评论仅适用于第一篇文章

转载 作者:行者123 更新时间:2023-11-30 22:17:44 25 4
gpt4 key购买 nike

我编写了一个状态框。它是成功的。然后我为状态编码了评论系统。一切顺利。但是这里面有一个问题。

问题:当发布了多个状态时,它只允许对第一个状态发表评论。如果我尝试对第二个状态发表评论,它不会加载 AJAX 请求。我也尝试检查 Dev 控制台,但没有显示任何内容。

注意: 我通过 AJAX 将状态加载到主页中。评论由 JavaScript 函数发布,该函数发送 $.ajax({type: "post"}); 请求到文件,该文件从 URL 检索文本、用户 ID 和所有内容以保存将其存入数据库。

请告诉我其中是否有任何逻辑,可能是什么问题。

用于发布评论的 jQuery AJAX 函数

function send(id, post_id) {
var pos = $("#txt").val();
var post = pos.trim();
if(post !== '') {
$.ajax({
url: 'comment.php?id='+id+'&post_id='+post_id+'&post='+post,
type: "POST",
success: function() {
reload();
}
});
}
}

我是这样调用它的:

<textarea cols="70" id="txt" placeholder="Write a comment.." class="input-user"></textarea><br />
<br />
<input type="submit" value="Post" style="background: #f2f2f2; width: 60px; height: 40px; padding: 5px; border-radius: 5px;" onclick="javascript:send('<?php echo $_SESSION['id']; ?>', '<?php echo $post['id']; ?>');" />

comment.php 文件:

<?php 
include("includes/config.php");
include("includes/bbcode.php");
$id = intval($_GET['id']);
$post_id = intval($_GET['post_id']);
$pos = bbcode($_GET['post']);
$post = mysqli_real_escape_string($con, $pos);
$post_comment = mysqli_query($con, "INSERT INTO comments(post_id, user_id, comment) VALUES('".$post_id."', '".$id."', '".$post."')") or die(mysqli_error($con));
?>

再次声明: 所有这些仅适用于第一篇文章,即您只能对第一篇文章发表评论,如果您尝试对第二篇或以后的文章发表评论,AJAX 甚至不会发送一个请求..

最佳答案

原因是因为当你重复使用 id="txt"时。该脚本只会识别第一个,之后你就完蛋了。另外正如@shut 提到的,id 需要是唯一的。将其更改为类 class="txt"

var pos = $(".txt").val();

然后这样调用你的函数

$('form').on('click','.txt',function() {
send('id_1', 'post_id_1');
});

function send(id, post_id) {
var pos = $(".txt").val();
var post = pos.trim();
if(post !== '') {
$.ajax({
url: 'comment.php?id='+id+'&post_id='+post_id+'&post='+post,
type: "POST",
success: function() {

}
});
}
}

假设每个人都有一个单独的表格

<form>
<textarea cols="70" class="txt" placeholder="Write a comment.." class="input-user"></textarea><br />
<br />
<input type="button" value="Post" class="txt" style="background: #f2f2f2; width: 60px; height: 40px; padding: 5px; border-radius: 5px;" onclick="javascript:send('<?php echo $_SESSION['id']; ?>', '<?php echo $post['id']; ?>');" />
</form>

关于javascript - 评论仅适用于第一篇文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37685486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com