当前位置: 首页 > 知识库问答 >
问题:

单击ajax post页面中的按钮时不起作用[重复]

汪飞捷
2023-03-14

我有一个注释项目,在我的.user__comments__container div中有一个按钮id#see_more_comments,当注释超过4时,该按钮通过jquery post从getcomments-afunc.php文件输出。ajax.php的文件代码是:

<?php
session_start();
include_once '../dbh-inc.php';

if (isset($_SESSION['userid'])) {

    $jobsid = mysqli_real_escape_string($conn, $_POST['jid']);
    $output = "";

    $sql = "SELECT * FROM comments AS c INNER JOIN users AS u ON c.usersId = u.usersId WHERE c.jobsId = '$jobsid' ORDER BY c.cid DESC LIMIT 4;" ;
    $result = mysqli_query($conn, $sql);
    $commentcount = 3;
    if (mysqli_num_rows($result) > $commentcount) {
        while ($row = mysqli_fetch_assoc($result)) {
        $usersid = $row['usersId'];
        $commenterprofilepic = $row['usersProfilePic'];
        $username = $row['usersName'];
        $usersusername = $row['usersUsername'];
        $commentDesc = $row['commentDesc'];
        $commentDate = $row['commentDate'];

                $output .= '<div class="user__comments">
                                <img src="profilepic/'.$commenterprofilepic.'" alt="'.$username.'\'s profile picture" class="profile__thumbnail" onclick="location.href=\'profile?uid='.$usersid.'\'">
                                <div class="comment__bubble">
                                    <div class="comment__box">
                                        <p class="username" onclick="location.href=\''.$usersusername.'\'">'.$username.'</p>
                                        <p class="comment">'.nl2br($commentDesc).'</p>
                                    </div>
                                    <p class="date">'.$commentDate.'</p>
                                </div>
                            </div>';

        }
         $output .= '<div class="see__more__comments" id="see_more_comments">See more comments..</div>';
    }
    echo $output;
}
else {

    header("../../dashboard.php");
    exit();
}

现在,当它通过jquery post调用输出到我的index.php时,它就被注册了,可以在我的浏览器或DOM的elements选项卡上看到。

它通过以下jquery代码输出:

setInterval(() => {
            $.post('includes/ajax-func/getcomments-afunc.php', {
                jid : pageId
            }, function (response) {
                $('.user__comments__container').html(response);
            });
        }, 10000
    );

但是,当我点击时,它会向我的.user__comments__container index.php添加4个注释。它不工作,我试着为它做一个console.log,但它没有输出任何东西,这是点击按钮的代码:

$('#see_more_comments').click(function() {
        commentCount = commentCount + 4;
        $('.user__comments__container').load('includes/ajax-load/seemorecomments-aload.php' , {
            jobsId : pageId,
            newCommentCount : commentCount
        });
        console.log(commentCount);
    });

这是seemoreComments-aload.php的内容:

<?php
session_start();
include_once '../dbh-inc.php';
    
    $jobsid = $_POST['jobsId'];
    $newcommentcount = $_POST['newCommentCount'];

$sql = "SELECT * FROM comments AS c INNER JOIN users AS u ON c.usersId = u.usersId WHERE c.jobsId = '" . $jobsid . "' ORDER BY c.cid DESC LIMIT $newcommentcount;" ;
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {
    $usersid = $row['usersId'];
    $commenterprofilepic = $row['usersProfilePic'];
    $username = $row['usersName'];
    $usersusername = $row['usersUsername'];
    $commentDesc = $row['commentDesc'];
    $commentDate = $row['commentDate'];

        echo '<div class="user__comments">
        <img src="profilepic/'.$commenterprofilepic.'" alt="'.$username.'\'s profile picture" class="profile__thumbnail" onclick="location.href=\''.$usersusername.'\'">
        <div class="comment__bubble">
            <div class="comment__box">
                <div class="username" onclick="location.href=\''.$usersusername.'\'">'.$username.'</div>
                <div class="comment">'.$commentDesc.'</div>
            </div>
            <div class="date">'.$commentDate.'</div>
        </div>
    </div>';
}

在此之前,我有所有getcomments-afunc.php内容,但没有$output,$output被echo替换,在我的index.php.user__comments__container中,它工作得很好。

但是,当我决定向其中添加jquery以便不需要重新加载整个页面时,我让.user__coments__container重新加载自己的目的起作用了,但是按钮不再起作用了。

有人帮忙吗?谢谢!!:(

共有2个答案

华知
2023-03-14

感谢马吉德阿里先生和斯瓦蒂先生,

成功了!!通过使用$(document).on(“click”,“#see_more_comments”,function(){

我能知道为什么$('#name').Click有时不起作用吗??

山森
2023-03-14

更改线路

$('#see_more_comments').click(function() {

$(document).on("click","#see_more_comments",function() {
 类似资料:
  • 问题内容: 当我在“更新”面板中使用“按钮”时,它不会触发点击事件,但在更新面板之外,它可以工作。 这是代码 按钮的代码是 问题答案: 试试这个 集到和附加在

  • 问题内容: 我正在尝试使用Python和Selenium在LinkedIn上添加联系人。我试图通过在“网络”选项卡(https://www.linkedin.com/mynetwork)中添加LinkedIn提出的联系建议来实现此目的,该选项具有无限滚动功能。 基本上,我希望脚本找到每个建议的配置文件旁边的“连接”按钮,单击该按钮,然后重复执行直到出现错误为止,从而脚本应向下滚动以加载更多“连接”

  • 问题内容: 我在Angular中有一个表单,其中有两个按钮标签。一键提交表单。另一个按钮仅用于使用进行导航。但是,当单击第二个按钮时,AngularJS导致页面刷新,从而触发404。我在函数中删除了一个断点,并触发了我的函数。如果我执行以下任何操作,它将停止: 如果删除,该按钮不会导致页面刷新。 如果我注释掉函数中的代码,则不会刷新页面。 如果我使用将按钮标签更改为锚标签(),则不会刷新。 后者似

  • 问题内容: 在表单中使用按钮时出现问题。我希望该按钮调用功能。它确实可以,但是刷新页面的结果令人讨厌。 我的简单代码是这样的 单击该按钮后,该函数将在页面刷新时被调用,这会重置所有我先前的请求,这会影响到当前页面,这是先前请求的结果。 我应该怎么做才能防止页面刷新? 问题答案: 让我们返回false。这将解决它。

  • 问题内容: 我需要自动单击网页中的任何“添加”按钮,如下所示: “ https://groceries.asda.com/search/yoghurt ” 但是,页面中的“添加”按钮都没有名称或ID。所以我不能使用Selenium包中的命令。 谁能帮我? 问题答案: 要单击特定产品的任何特定按钮,可以编写如下方法: 现在,您可以单击传递其标题的任何按钮,如下所示: