首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

|M| 防止按钮二次提交时,验证控件对这个按钮就无效了 怎么处理 多谢

2011-12-31 
|M| 防止按钮二次提交时,验证控件对这个按钮就无效了 怎么办 谢谢scripttype text/javascript varopt

|M| 防止按钮二次提交时,验证控件对这个按钮就无效了 怎么办 谢谢
<script   type= "text/javascript ">                                        
            var       option= "Once ";  
            function   Twice()      
            {      
                    if(option== "Once ")      
                    {      
                            //document.all( "btnOk ").Enable       =       false;    
                            return   false;      
                    }      
                    option       =       "Once ";                                                            
            }
           
</script>
<asp:Button   ID= "btnOk "   Text= "保存 "   runat= "server "   OnClick= "btnOk_Click "     OnClientClick= "   return   Twice() "> </asp:Button>

点击保存的时候就直接跑过验证了
问题应该在OnClientClick= "   return   Twice() "   这里


[解决办法]
不要写在button的click中

写在form的 onsubmit 中
<form name= "test " runat= "server " onsubmit= "return Twice(); ">
[解决办法]
有个替代的方式,就是用VS自带的验证控件。
[解决办法]
用Custom验证控件,这样只需要将你上面的JS函数名赋给验证控件就可以了 !
[解决办法]
不能使用asp.net服务器 button 改成input button runat=server

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

<!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>
<script type= "text/javascript ">
var option= "Once ";
function Twice()
{
alert(option);
if(option== "Once ")
{
document.all( "Button1 ").disabled = true;
option = "Twice ";
return true;
}
//option = "Once ";
return false;
}

</script>



</head>
<body>
<form id= "form1 " runat= "server " onsubmit= "return Twice(); ">
<div>
<asp:TextBox ID= "TextBox1 " runat= "server "> </asp:TextBox>
<asp:RequiredFieldValidator ID= "RequiredFieldValidator1 " runat= "server " ControlToValidate= "TextBox1 "
ErrorMessage= "RequiredFieldValidator "> </asp:RequiredFieldValidator> <br />
<input id= "Button1 " runat= "server " onserverclick= "Button1_ServerClick " type= "button "
value= "button " /> </div>
</form>
</body>
</html>


[解决办法]
jedliu(21世纪什么最贵? 人才!) ( ) 信誉:982007-05-16 16:37:22得分:0


?用Custom验证控件,这样只需要将你上面的JS函数名赋给验证控件就可以了 !
--------------
这东西在ff上支持不太好
[解决办法]
在你的脚本最后加上return WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(event.srcElement.id, " ", true, " ", " ", false, false));
[解决办法]
关注..

热点排行