在做批量删除的时候,需要用confirm弹出一个提示框让用户确认是否删除,点击确定,执行操作,点击取消,取消操作。但是如果使用ajax把选中项的主键值传到处理页面处理时,如果使用下面的方法将confirm直接写在按钮里面,在点击取消后,ajax会继续执行操作,删除选中项。

1.confirm错误写法:

<button type="button" onclick="return confirm('确定删除选中项吗!')" id="piliang" class='btn btn-primary btn-lg'  data-target='#myModal'>批量删除</button>

2.可以用下面的方法将confirm写在js里面,可以避免这个问题。

(1)按钮代码

<button type="button" id="piliang" class='btn btn-primary btn-lg'  data-target='#myModal'>批量删除</button>

(2)js代码

$("#piliang").click(function(){
var statu = confirm("确认删除选中项吗!");//在js里面写confirm,在页面中弹出提示信息。
if(!statu)//如果点击的是取消
{
return false;//返回页面
}
else{//如果点击确定,就继续执行下面的操作
var attr = new Array();//建立一个数组
$(".qx").each(function() {//each循环遍历出所有的复选框
if($(this).prop("checked")) //判断被循环的.ck是否被选中
{
attr.push($(this).attr("value")); //去value的属性取到该项数据的主键值,扔到数组attr里面
}
});
var stra = attr.join("','");//把attr数组里的lie[0]用 ',' 拆分 $.ajax({
url:"../chuli/deletepiliang.php",
data:{stra:stra},//把拆分后的数组传到处理页面,数据的格式为 主键1','主键2','主键3 这里看似少了最外面的2个'',带着这个疑问去看处理页面
type:"POST",
dataType:"TEXT",
success: function(data){
window.location.href="guanliry.php";
}
});
}
})

3.处理页面deletepiliang.php

<?php
session_start();
include("../libs/DBDA.php");
$db = new DBDA();
$attr = ($_POST["stra"]);//取传过来的选定的主键值
$sql = "delete from jx_user where uid in('{$attr}')";//把上面的缺少最外面的''的字符串放到这里,('{$attr}')中的{$attr}就是拿过来的字符串,外面的''正好弥补了缺少的''。
$db->query($sql,0); ?>

confirm对话框取消后阻止ajax操作、ajax做批量删除的更多相关文章

  1. 在WebGrid中做 批量删除操作

    一般的MVC WebGrid都是在每一行中加入 Edit Detail Delete 这些Link 去对每条记录去单独操作. 稍微研究了一下总结一个 做批量删除的办法. 1. 首先是在WebGrid中 ...

  2. php 用封装类的方法操作数据库和批量删除

    封装类 <?php class DBDA { public $host="localhost"; //服务器地址 public $uid="root"; ...

  3. ajax 操作

    ajax 操作 ajax呢,就是要做到在神不知鬼不觉的情况之下给服务端发送请求. ajax能干啥哩? 这,,,,: 利用AJAX可以做:1.注册时,输入用户名自动检测用户是否已经存在.2.登陆时,提示 ...

  4. Django(九)下:Ajax操作、图片验证码、KindEditor使用

    三.Ajax操作 ajax操作基于浏览器的xmlHttpRequest对象,IE低版本是另外一个对象,jQuery 1 版本对那两个对象做了封装,兼容性最好,2 .3版本不再支持IE低版本了. Aja ...

  5. laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)

    laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...

  6. php jquery+ajax写批量删除

      为了美观,我还是引入了bootstrap的模态框,我引入的是自己的数据库 library中的一张表 名为:maninfo表 是一张个人信息表  表的加载我就不写了,比较简单,  大概写一下需要的按 ...

  7. jquery的常用ajax操作

    $.ajax() 定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() ...

  8. 关于jQ的Ajax操作

    jQ的Ajax操作 什么是AJAX AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 它不是一门编程语言,而是利用JavaScript ...

  9. jQuery Ajax 操作函数及deferred对象

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

随机推荐

  1. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  2. QString::​arg的用法

    1.用法示例1 String str = QString("%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11").arg("1"," ...

  3. x01.MagicCube: 简单操作

    看最强大脑,发现魔方还是比较好玩的,便买了一个,对照七步还原法,居然也能成功还原. 为什么不写一个魔方程序呢?在网上找了找,略作修改,进行简单操作,还是不错的,其操作代码如下: protected o ...

  4. [总结] Versions crashing in OS X Yosemite (10.10)

    在文本编辑器中打开 ~/.subversion/servers 在 [global] 下添加该行: http-library = serf 然后,安装 Versions 1.3.2

  5. css实现页面元素居中

    水平居中 对于已知宽度的块级元素实现水平居中只需要设置 margin-left:auto; margin-right:auto; 对于多个块级元素实现水平居中只需要设置 //1 父类{ text-al ...

  6. 如何将网页的title前面的图标替换成自己的图标

    首先要准备自己的图标,图标必须是.ico格式的图片,网上有很多在线工具可以将自己的图片转换成ico格式的图片,这里给大家介绍两个网站 在线ico转换工具:生成的图标是可以选尺寸的,原图片的大小不限制 ...

  7. angular2环境搭建

    Angular2.x与Angular1.x完全不同,Angular2.x是不兼容Angular1.x的,所在在框架的构造上,它们是完全不同的.在Angular2.x中,因为其是基于ES6来开发的,所以 ...

  8. Centos6下安装高版本Git

    yum remove git .tar.gz /usr/src/ cd /usr/src/ cd git-/ make configure whereis autoconf yum install a ...

  9. [LeetCode] Plus One 加一运算

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  10. 数组为什么可以使用linq查询

    问题引出 这视乎是个完全不必要进行讨论的话题,因为linq(这里具体是linq to objects)本来就是针对集合类型的,数组类型作为集合类型的一种当然可以使用了.不过我还是想写一下,这个问题源于 ...