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