怎么在一个按钮里面弹出2个提示框(有yes和No的提示框)?

yinuo78 2008-11-26 10:31:30
我一个按钮里有2中操作,一个是添加,一个是更新。
如果是添加,当点这个按钮的时候,就弹出“是否添加?”,如果选是,就执行什么操作;如果选否,就执行什么操作。
如果是更新,当点这个按钮的时候,就弹出“是否更新?”,如果选是,就执行什么操作;如果选否,就执行什么操作。

注意:对弹出的提示框,选“是”和选“否”,里面都要写逻辑.

请高手们帮帮小妹~~~~·
...全文
444 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang_jiajia10 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 phper2008 的回复:]
引用 8 楼 jiang_jiajia10 的回复:
两个按钮
HTML code <asp:ButtonID="btnProcess"runat="server"Text="添加"OnClientClick="return confirm('本操作不可恢复,确认添加?');"/> <asp:ButtonID="btnProcess"runat="server"Text="修改"OnClientClick="return confirm('本操作不可恢复,确认修改?');"/>


注意看需求,你这代码只执行选择“是”的部分,如果选择“否”,就OnClientClick返回false,就不再执行操作,楼主…
[/Quote]
不好意思看错了
5楼的可以
逸客 2008-11-26
  • 打赏
  • 举报
回复
学习一下。。。
phper2008 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jiang_jiajia10 的回复:]
两个按钮
HTML code<asp:ButtonID="btnProcess"runat="server"Text="添加"OnClientClick="return confirm('本操作不可恢复,确认添加?');"/><asp:ButtonID="btnProcess"runat="server"Text="修改"OnClientClick="return confirm('本操作不可恢复,确认修改?');"/>
[/Quote]

注意看需求,你这代码只执行选择“是”的部分,如果选择“否”,就OnClientClick返回false,就不再执行操作,楼主要的是选择“是”和“否”都要执行一些操作。
我在5楼已经提供给楼主一种方法,一个按钮实现两种操作,根据act变量判断当前是“添加”还是“修改”,设置两个隐藏按钮,分别来执行楼主选择“是”和“否”需要做的事情!完全是量身定做,请仔细看下!
phper2008 2008-11-26
  • 打赏
  • 举报
回复
可以结帖了,不要打消我们这些给你写代码人的积极性!
jiang_jiajia10 2008-11-26
  • 打赏
  • 举报
回复
两个按钮

<asp:Button ID="btnProcess" runat="server" Text="添加" OnClientClick="return confirm('本操作不可恢复,确认添加?');" />
<asp:Button ID="btnProcess" runat="server" Text="修改" OnClientClick="return confirm('本操作不可恢复,确认修改?');" />
yinuo78 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 min_jie 的回复:]
是WINFORM吗?
如果是:

C# code
if(MessageBox.Show("您确认要添加该记录吗?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
}
else
{
}
[/Quote]

不是啊。。
我也知道winform里面有啊
phper2008 2008-11-26
  • 打赏
  • 举报
回复
为了避免类似document.getElementById("btnNo").click()手动触发事件在firefox等其他浏览器下不起作用,

将本人写的通用函数放下,大家一起学习了:

/// <summary>
/// 兼容FireFox的手动触发事件
/// <param name="obj">目标元素</param>
/// <param name="eventName">事件名称如"click",注意不要加"on"</param>
/// <param name="eventType">事件类型HTMLEvents,UIEvents,MouseEvents,MutationEvents</param>
/// <param name="canBubble">事件是否起泡</param>
/// <param name=""cancelable>是否可以用preventDefault()方法取消事件</param>
/// </summary>
function fireEvent(obj,eventName,eventType,canBubble,cancelable)
{
var o = document.getElementById(obj);
if(o == null) return;
if(document.all)
{
o.fireEvent("on"+eventName);
}
else
{
var e = document.createEvent(eventType);
e.initEvent(eventName,canBubble,cancelable);
o.dispatchEvent(e);
}
}
//要让btnNo按钮发生点击事件在ie里可以直接document.getElementById("btnNo").click()
//通用方法是fireEvent("btnNo",click,MouseEvents,false,false),这样在多种浏览器下可以引发事件
phper2008 2008-11-26
  • 打赏
  • 举报
回复
为你量身定做的:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test1.aspx.cs" Inherits="test_Test1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnProcess" runat="server" Text="操作" OnClientClick="return check()" />
<asp:Button ID="btnOk" runat="server" Text="是" OnClick="btnOk_Click" style="display:none"/>
<asp:Button ID="btnNo" runat="server" Text="否" OnClick="btnNo_Click" style="display:none"/>
<asp:Label ID="labMsg" runat="server" Text=""></asp:Label></div>
</form>
</body>
</html>
<script type="text/javascript">
function check()
{
var s = '<%=act %>';
var ss = s=="add" ? "是否添加?":"是否更新?";
if(confirm(ss))
{
document.getElementById("btnOk").click();
}
else
{
document.getElementById("btnNo").click();
}
return false;
}
</script>



using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class test_Test1 : System.Web.UI.Page
{
protected string act = "update";//定义个标志判断是"添加还是修改"
protected void Page_Load(object sender, EventArgs e)
{
//处理act的值
if (Request["act"] != null) this.act = Request["act"].ToString(); ;
if(!Page.IsPostBack)
{
this.btnProcess.Text = act == "add" ? "添加" : "修改";
}
}
protected void btnOk_Click(object sender, EventArgs e)
{
if (act == "add")
{
//选择"是"的时候添加操作
this.labMsg.Text = "你确定添加";
}
else
{
//选择"是"的时候修改操作
this.labMsg.Text = "你确定修改";
}
}
protected void btnNo_Click(object sender, EventArgs e)
{
if (act == "add")
{
//选择"否"的时候添加操作
this.labMsg.Text = "你选择不添加";
}
else
{
//选择"否"的时候修改操作
this.labMsg.Text = "你选择不修改";
}
}
}
止戈而立 2008-11-26
  • 打赏
  • 举报
回复
是WINFORM吗?
如果是:

if(MessageBox.Show("您确认要添加该记录吗?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
}
else
{
}
yinuo78 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 heyu1000 的回复:]
在load里面,你就可以判断到是否是添加还是更新了吧,可以通过一参数,比如ID大于0表示更新。
bool add=true;
string str = string.Empty;
if (add)
str = "添加";
else
str = "更新";
Button1.Attributes.Add("onclick", "javascript:return confirm('是否要" + str + "');");
add的值你可以根据你具体情况是增加的时候就true,是更新的时候就false
[/Quote]

如是我是添加的话,当我选“是”时,就执行添加的代码,当我选“否”时,就name得到焦点。
也就是说,我选“是”和“否”,都要相应的操作
ReyZhang 2008-11-26
  • 打赏
  • 举报
回复
1楼的可以试试
heyu1000 2008-11-26
  • 打赏
  • 举报
回复
在load里面,你就可以判断到是否是添加还是更新了吧,可以通过一参数,比如ID大于0表示更新。
bool add=true;
string str = string.Empty;
if (add)
str = "添加";
else
str = "更新";
Button1.Attributes.Add("onclick", "javascript:return confirm('是否要" + str + "');");
add的值你可以根据你具体情况是增加的时候就true,是更新的时候就false

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧