Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 。单击()导致重复确认();重复结果 工作积垢应用程序_Php_Jquery_Ajax_Click - Fatal编程技术网

Php 。单击()导致重复确认();重复结果 工作积垢应用程序

Php 。单击()导致重复确认();重复结果 工作积垢应用程序,php,jquery,ajax,click,Php,Jquery,Ajax,Click,我已经/曾经有一个成功的CRUD CMS使用AJAX工作…也就是说,直到我添加了带有click AJAX事件的分页(我将在下面分享这个脚本) +-----------------------------新建------编辑------复制------删除------+ |---+---------+----------------+--------------------------------------------------| |O.标题说明 |---+---------+--------

我已经/曾经有一个成功的CRUD CMS使用AJAX工作…也就是说,直到我添加了带有click AJAX事件的分页(我将在下面分享这个脚本)

+-----------------------------新建------编辑------复制------删除------+
|---+---------+----------------+--------------------------------------------------|
|O.标题说明
|---+---------+----------------+--------------------------------------------------|
|O |项目1 |诸如此类|
|---+---------+----------------+--------------------------------------------------|
|O |项目2 |诸如此类|
|---+---------+----------------+--------------------------------------------------|
|O |项目3 |诸如此类|
|---+---------+----------------+--------------------------------------------------|

工作原理: 单击按钮“编辑/复制/删除”时…
1。用户收到确认警报“您确定…?”
2。所选复选框通过ajax发送到相应的
href[.php]
待操作。
3.页面刷新

function actionButton () {
  if($(this+' span').hasClass("dead")) { }else{
        page    = $(this).attr("href");
        ids     = new Array()
        a       = 0;
        $(".chk:checked").each(function(){
           ids[a] = $(this).val();
           a++;
        })      
        if (confirm("Are you sure you want to affect the selected record(s)?")) {
         $.ajax({
                url         :   page,
                type        :   "POST",
                data        :   "id="+ids,
                cache       :   false,
                dataType    :   'json'
                })                              // end AJAX
         .done(function(data) {                     
              window.console.log(data);         // log data to the console so we can see                                                    
                                            // Handle ERRORS
                                            // After form submission, redirect a user
                                            // to another page
                window.location.reload();

          })
         .fail(function(data) {             // promise callback
              window.console.log(data);         // show any errors in console
          });
        }                                       // end CONFIRMed
        return false;
  };
};
点击: 变化: 我添加了一个ajax点击分页管理器,它使用
$('#pagination').html(响应)填充
id=pagination
。这个分页正如我所希望的那样工作

+-----------------------------新建------编辑------复制------删除------+
|---+---------+----------------+--------------------------------------------------|
| .... < 12 3 4 5> |O.标题说明
|---+---------+----------------+--------------------------------------------------|
|O |项目1 |诸如此类|

paginate.js 问题: 自从添加pagination.js之后,现在…

  • 如果我没有单击任何
    分页链接
    ,则按钮操作与以前一样正常工作
  • 如果我点击任何
    分页链接
    ,按钮操作的行为会有所不同:

  • 确认警报
    会重复一次、两次、有时三次
  • 如果我确认每次都弹出,那么动作最终会起作用,除了重复……这似乎会产生双重重复,具体取决于我确认的次数
在的帮助下找到了它。

我发现我只需在actionButton函数的开头添加
e.stopImmediatePropagation()
。这似乎很好地解决了这个问题

function actionButton (e) {
    e.stopImmediatePropagation();

什么时候调用actionButton()?WingLian道歉。我以前在那里写过点击动作。我一定是偶然删除的。我已经
编辑了
原始帖子以包含
单击
详细信息。ajax响应中是否有javascript?更具体地说,$(document).ready()部分?@WingLian感谢您的帮助。我终于设法让它开始工作了。看看我刚刚发布的答案。只需添加
e.stopImmediatelyPropogation()到actionButton函数。
$(function(){
    $.ajax({
          url       : "populateRecordsPaginate.php",
          type      : "POST",
          data      : "actionfunction=showData&page=1",
          cache     : false,
          success   : function(response){ 
                        $('#pagination').html(response);
                      }
    });
          $('#pagination').on('click','.page-numbers',function(){
               $page = $(this).attr('href');
               $pageind = $page.indexOf('page=');
               $page = $page.substring(($pageind+5));

                $.ajax({
                    url     : "populateRecordsPaginate.php",
                    type        : "POST",
                    data        : "actionfunction=showData&page="+$page,
                    cache       : false,
                    success : function(response){
                                  $('#pagination').html(response);
                                }
                });
                return false;
          });
});
function actionButton (e) {
    e.stopImmediatePropagation();