为什么验证控件限制不了button按钮(点击此按钮弹出确认对话框)了呢?
部分程序如下:
private void Page_Load(object sender, System.EventArgs e)
{
buttonOk.Attributes.Add("onclick", "return confirm('是否生成缴费单?');");
}
private void buttonOk_Click(object sender, System.EventArgs e)
{
textbox1.text="abc" ;
}
按道理讲,页面中存在验证控件,如果不符合要求的话,点击 buttonOk 按钮 页面应该没反应,可现在怎么点击后先是弹出确认按钮,然后就执行 textbox1.text="abc" 了呢?虽然验证控件也进行了提示。
如果不为 buttonOk 按钮添加 弹出窗口功能(即不写Page_Load里的代码),验证控件起作用,点击按钮就不会执行textbox1.text="abc" 。
问题点数:20、回复次数:10Top
1 楼wudebin(苦来我吞酒来碗干)回复于 2005-05-10 15:16:35 得分 0
怎么就没人管了呢,天哪,help!Top
2 楼fengfangfang()回复于 2005-05-10 15:30:15 得分 0
看看生成的源文件,估计是有冲突Top
3 楼ffjing(猪头不卖)回复于 2005-05-10 15:35:46 得分 0
也许验证控件的返回值被你的confirm的返回值覆盖了
你试一下,如果confirm时你选择取消,验证控件应该就有反应了Top
4 楼dutguoyi(新鲜鱼排)回复于 2005-05-10 15:37:21 得分 10
if(Page.IsValid)
{
}Top
5 楼ffjing(猪头不卖)回复于 2005-05-10 15:45:48 得分 0
测试了一下,比较奇怪
应该是先执行了confirm,再进行验证,验证出错消息出来了,而后台代码仍然被执行了Top
6 楼ffjing(猪头不卖)回复于 2005-05-10 15:48:30 得分 5
在服务器端验证才需要写
if(Page.IsValid)
{
}
而现在一般浏览器都支持dhtml,都是客户端验证的,为什么验证不通过仍然执行了后台代码!Top
7 楼wudebin(苦来我吞酒来碗干)回复于 2005-05-10 16:14:54 得分 0
ffjing(猪头不卖) 第二句说的对啊,页面中的控件是进行验证了,可click事件的代码也被执行了,这样验证就没意义了。Top
8 楼quzw(quzw)回复于 2005-05-10 17:01:43 得分 0
有意思,关注中……Top
9 楼bladebengbu(清风飘雨)回复于 2005-05-10 17:22:48 得分 5
WebForm的啊。。使用这种方式看看
1、Button1.Attributes["onClick"]="javascript:return confirm('Sure?');";
2、Button1.Attributes.Add("onClick", "javascript:return a();");
在页面上写
<script language="javascript">
function a()
{
if ((confirm('是否存盘?')==true)
{
if(客户端判断条件不符合)
{alert("数据不对,请重新输入");}
return false;
else
{return true;}
}
else
{
return false;
}
}
</script>
Top
10 楼lhcoolhacker(hugh-lin)回复于 2005-05-10 17:43:27 得分 0
return confirm('是否生成缴费单?')改为:if(!confirm('是否生成缴费单?')) return false;
点击是的时候提交,否的时候不提交Top




