confirm对话框取消后阻止ajax操作、ajax做批量删除
在做批量删除的时候,需要用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做批量删除的更多相关文章
- 在WebGrid中做 批量删除操作
一般的MVC WebGrid都是在每一行中加入 Edit Detail Delete 这些Link 去对每条记录去单独操作. 稍微研究了一下总结一个 做批量删除的办法. 1. 首先是在WebGrid中 ...
- php 用封装类的方法操作数据库和批量删除
封装类 <?php class DBDA { public $host="localhost"; //服务器地址 public $uid="root"; ...
- ajax 操作
ajax 操作 ajax呢,就是要做到在神不知鬼不觉的情况之下给服务端发送请求. ajax能干啥哩? 这,,,,: 利用AJAX可以做:1.注册时,输入用户名自动检测用户是否已经存在.2.登陆时,提示 ...
- Django(九)下:Ajax操作、图片验证码、KindEditor使用
三.Ajax操作 ajax操作基于浏览器的xmlHttpRequest对象,IE低版本是另外一个对象,jQuery 1 版本对那两个对象做了封装,兼容性最好,2 .3版本不再支持IE低版本了. Aja ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- php jquery+ajax写批量删除
为了美观,我还是引入了bootstrap的模态框,我引入的是自己的数据库 library中的一张表 名为:maninfo表 是一张个人信息表 表的加载我就不写了,比较简单, 大概写一下需要的按 ...
- jquery的常用ajax操作
$.ajax() 定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() ...
- 关于jQ的Ajax操作
jQ的Ajax操作 什么是AJAX AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 它不是一门编程语言,而是利用JavaScript ...
- jQuery Ajax 操作函数及deferred对象
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...
随机推荐
- iOS项目iCloud及CloudKit Dashboard运用
CloudKit是苹果推出的基于iCloud的一个云端数据存储服务.其 主要由下面两部分组成: 一个仪表web页面,用于管理公开数据的记录类型. 一组API接口,用于iCloud和设备之间的数据传递. ...
- Eclipse安装SVN插件
Eclipse 安装最新SVN插件 下载地址 下载最新的Eclipse,我使用的是eclipse-jee-kepler-SR2-win32-x86_64.zip(Eclipse IDE for Jav ...
- javascript - 状态模式 - 简化分支判断流程
状态模式笔记 当一个对象的内部状态发生改变时,会导致行为的改变,这像是改变了对象 状态模式既是解决程序中臃肿的分支判断语句问题,将每个分支转化为一种状态独立出来,方便每种状态的管理又不至于每次 ...
- redis数据结构存储Linked List设计细节(redis的设计与实现笔记)
redis里拥有一个灵活扩展且获取表头表尾复杂度为O(1)的双端列表,分为list和listNode2部分组成. list: typedef struct list {//链表 listNode *h ...
- linux基本知识2
date:时间管理 linux时钟: 硬件时钟:hwclock -s:硬件时钟到系统时钟 -w:系统时钟到硬件时钟 系统时钟:date 如何查看是外部命令还是内部命令: type COMMAND ...
- [No0000AA]Windows 系统环境变量列表
环境变量 详细信息 %ALLUSERSPROFILE% 所有用户 Profile 文件位置 %APPDATA% 应用程序数据的默认存放位置 %CD% 当前目录 %CLIENTNAME% 联接到终端服务 ...
- 2015最流行的Android组件、工具、框架大全
Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以 ...
- jquery validate表单验证插件-推荐
1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...
- liunx关闭防火墙
Redirecting to /bin/systemctl stop iptables.service systemctl stop iptables.service ?????? centos从7开 ...
- 不装mono,你的.NET程序照样可以在Linux上运行!
让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序. 这种运行.net程序的办法有两个弱点,一个是需要客户机安装 ...