猿问

每次单击按钮时,PHP页面发送的变量都会增加的问题

问题总结

我有一个Web应用程序,显示从API返回的数据摘要(日期,主题,描述等)。用户登录后,PHP脚本提取数据并将每个项目输出为表格行。每行上都有一个链接,允许用户单击该链接,这将再次调用API并提取该条目的详细信息。它使用项目ID号,在生成行时,该项目ID号会放入链接ID属性中。


为了进行测试,我有一个JQuery代码块,当单击为P元素时,它仅呈现每个链接的ID号。这样,我知道JQuery函数肯定会将ID传递给PHP脚本,并且该脚本肯定会将某些内容返回给页面。


这是PHP返回的数据:


    echo "<tr>

            <td>$dateChange</td>

            <td>$itemSubject</td>

            <td id='myDiv'>$itemSummary<br />

               <a class='test'  href='#' id=$itemID onclick='testing();'> 

               View Details

               </a>

            </td>

            <td>$itemState</td>

          </tr>";

这是当用户单击适当的链接时调用的JQuery函数:



    function testing() {

        $.post("itemDetails.php", { id: $(this).attr('id') }, function(response) {

         var details = document.createElement("P");

         details.innerText = response;

         document.getElementById('myDiv').appendChild(ticket);

         });

};

我会发生什么:

每次单击链接时,该函数都会将该链接的ID属性发布到PHP脚本。PHP脚本将回显该内容,并且该函数将获取响应并将其呈现为附加到td元素上的新元素。


实际发生的情况:

第一次单击链接时,该链接的ID在页面上呈现两次,下一个链接呈现3次,接下来的4次,依此类推。每次单击链接时,都会输出该链接的ID ++


我不知道为什么每次都增加输出,而不仅仅是打印一次。


我希望我已经清楚地解释了事情。如果没有,请告诉我。或者,如果我要以错误的方式处理整件事,请告诉我。


亲切的问候


编辑

终于弄清楚我在做什么错。删除了onclick函数调用,并使用了.ready。更新的JavaScript / JQuery是:


    $(document).ready(function() {

      $("a").click(function(event) {

        $.post("includes/modal.php", { id: event.target.id }, function(response) {

          var ticket = document.createElement("P");

          ticket.innerText = response;

          document.getElementById('myDiv').appendChild(ticket);

        });

      });

   });

感谢您的协助!非常感激。


人到中年有点甜
浏览 183回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答