zoukankan      html  css  js  c++  java
  • web弹出确认对话框,要有取消选择项

    弹出一般警告框一般大家用Response.Write("<script language=javascript>alert('有错,请检查!')</script>");

    弹出“确定”对话框,点击后跳转页面:
    Response.Write("<Script Language=JavaScript>alert('消息!');window.navigate('../index.aspx');</Script>");

    但:web弹出确认对话框,要有取消选择项:
    解决方法有直接在属性中为Button1的属性onclick_client添加:

    return confirm("你确认提交么?");

    也可以在一开始就添加

    Button1.Attribute.Add("onclick","return confirm('你确认提交么?'); ");

    问题解决.但当你遇到删除数据,如gridview 中的是数据时  (转自 csdn lynnlin1122)

    3、目前已知的最简洁的方法,如图,在删除按钮的那一列属性里面,把DeleteText属性设为

     <div id="de" onclick="JavaScript:return confirm('确定删除吗?')">删除</div>

     然后在删除事件的对应代码加上这句:GridView1.Attributes.Add("onclick", "return  getconfirm();");就ok成功了(下面附图)

    这个太强了,赞一个。
    可问题是,.net输出的html代码如下: 

    <href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$GridView1','Delete$0')" style="color:#4A3C8C;"><div id="de" onclick="JavaScript:return confirm('确定删除吗?')">删除</div></a> 

    为什么内层<div>的onclick事件所返回的bool值能影响到外层<a>标签的的语句是否被执行呢?
    仔细想了想,以前用asp直接写的删除标签是这个样子的:

    <href="deleteUser.asp?id=xxx"  onclick="return confirm('确定删除吗?')">删除</a> 

    也就是说,onclick事件接受一个bool值,其决定了click事件是否被触发。若click事件没有被触发,href内含的跳转动作就不会生效。同理,之前的那段代码中,<div>在<a>中,只有先触发<div>的click事件,<a>的跳转动作才会生效。而我们在<div>的onclick事件中若选择为其赋值false,随即取消了<div>的click事件,也同时取消了<a>的跳转。

    之后,新的问题又来了。如果我们的CommandField中ButtonType是Button的话,这段代码就失效了。我想了下,可以通过将其转换为模板列的方式来解决。
    先将该字段转换成模板,然后编辑这个模板列,选中用于删除的Button,将其onClientClick属性设为

    return confirm('你确认删除吗?')

     

    也就是这句搞下去就ok了。<div id="de" onclick="JavaScript:return confirm('确定删除吗?')">删除</div>

    最后的方法真是很牛.很牛.学习了。

  • 相关阅读:
    H5系列之drag拖放
    H5系列之contenteditable
    H5系列之新input
    利用css3和js实现旋转木马图片小demo
    利用css3实现照片列表展开小demo
    reduce()、filter()、map()、some()、every()、...展开属性
    ES6,ES7,ES8,ES9,ES10新特性
    Web Components 是什么?它为什么对我们这么重要?
    vscode常用快捷键以及插件
    使用for..in时会遍历对象原型中的自定义属性
  • 原文地址:https://www.cnblogs.com/pyman/p/1350068.html
Copyright © 2011-2022 走看看