更新数据的时候如何使页面中的按钮不能用等更新完数据按钮恢复使用
解决方案 »
- 服务器 cache问题
- 找一本JavaScript权威指南(第五版)
- 在线统计人数!!
- 如何判断一个字段中是否存在某字?。 如何获取GridView中的控件?
- 在Page_Load中,为什么PreviousPage总是null?
- 关于GirdView点击跳转后设置的参数引用的问题????跪求
- 大家帮忙,TabStrip控件的选项控制问题???
- microsof的treeview控件怎么在.net1.1里面使用??
- 怎么把表格中一个单元格中的数据链接创建成参数URL
- ??为什么System.Diagnostics.Process.Start("notepad.exe")启动进程,在任务管理器里面看得到,但却运行不出来.
- ajax无刷新聊天室问题
- RadioButton bool数据绑定问题
try块里控制按钮visible=false
在finally里面写visible=true
-------
一点思路,希望能帮到你.不过你的帖子太短太抽象了,估计会被群众批评..
{
this.btn_Save.Visible= false;
for (int i = startYear; i <= endYear; i++)
{
if (!IsContainsYear(i))
{
aDimensionTimeDao.addDimensionTimeYear(i);
//startYear = startYear + 1;
addYearList.Add(i.ToString());
}
else
{
existYearList.Add(i.ToString());
}
}
}
catch (OracleException sqlerr)
{
throw new DataAccessException(sqlerr.Message);
}
finally
{
this.btn_Save.Visible= true;
}也不起作用
{
session["time"]="1";
执行...
}
page_load事件中加上
{
if(!ispostback)
{
session["time"]=null;
}
}
<input disabled />
服务端控制,不执行代码就可以了.
IE6.0以前.尤其是IE5.5的时候,经常会出现点一个按钮提交两次的问题,都是这么处理.
OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="false"
这句时,就灰掉了可是添加完数据后按钮也就不见了
怎么修改一下在添加完数据以后按钮可见?
执行最后Enable=true不过web的按钮的状态好像不太好控制吧。而且必然会postback。如果用ajax倒是可以用js来控制,因为页面不会刷新
OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="false" 最后加上
this.btn_Save.Visible = true;大家还有什么方法可以提出来争取找到一个更好的方法
至于按钮不见了,是你其它代码影响了吧.我看见前面有人给你帖了visiable=false;之类的,你COPY来用了没?清掉没有?
是因为我一开始用的没注释掉
前后没什么关系吧还有一点
为什么我用在另外一个页面上就不起作用了
是因为我另外一个页面用的JS用的还是因为什么?
验证完JS就不往下面执行了
function isContinueLoad(){
var startYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_BeginYear").value;
var endYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_EndYear").value;
var hasStatedYears = "<%= hasStatedYears%>";
var years="";
for(var i=startYear;i<=endYear;i++){
if(hasStatedYears.indexOf(i) != -1){
years += i + " ";
}
}
if(years != ""){
return confirm(years + " 已统计,要重新统计吗?");
}else{
return true;
}
}
</script>不起作用的页面加的JS代码
if (!IsPostBack)中注册
this.btn_Select.Attributes.Add("onclick", "return isContinueLoad()");加上以后则第一次可以验证,以后就不能验证了而且所有的均不能执行btn_Select_Click事件
在一个页面有用,其它页面肯定也有用了..
如果无效.就看看IE右下有没有感叹号.JS报错没.
function isContinueLoad(){
var startYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_BeginYear").value;
var endYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_EndYear").value;
var hasStatedYears = " <%= hasStatedYears%>";
var years="";
for(var i=startYear;i <=endYear;i++){
if(hasStatedYears.indexOf(i) != -1){
years += i + " ";
}
}
if(years != ""){
return confirm(years + " 已统计,要重新统计吗?");
}else{
return true;
}
}
</script>
这样不行的
在数据添加的过程中 this.按钮ID.Enabled="false 显示不出来
是这个函数没有执行了吧
你看看原来这个函数是在什么时候调用的.现在为什么没调用.
我估计是你原来调用的方法是写在设计期的...而后面运行期的代码没有调用他.
放在if (!IsPostBack)中
效果等同与onclientclick,你的onclientclick是设计期代码,attributes.add是运行期代码.OnClientClick="this.disabled=true;this.form.submit();"
不如把onclientclick里面的两句话都写到你的isContinueLoad()里去.
把OnClientClick挪到本世纪if(!Page.IsPostBack)外面去.
把OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="false" 放到 isContinueLoad()中?
如果不要这句话则
this.btn_Select.Attributes["onclick"] = this.GetPostBackEventReference(this.btn_Select) + ";this.disabled=true;"; 放在if (!IsPostBack)外面和里面isContinueLoad()都可以就是isContinueLoad()这个不起作用
$("body").prepend("<div id='replace' style='background-color:#eee; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); height:100%; width:100%; position:absolute; z-index:2;' ></div>");
//获取判断数据传送成功否
$("#replace").remove();最简单方法
去网上找一个Div层的弹出
点击按钮时,用这个Div层盖住页面
并显示“程序处理中,请稍候...”这样会不会更友好呢。
我现在就在考虑找个Div层弹出的例子还没找到合适的,,,继续寻找中
$("body").prepend(" <div id='replace' style='background-color:#eee; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); height:100%; width:100%; position:absolute; z-index:2;' > </div>");
//获取判断数据传送成功否
$("#replace").remove();最简单方法我这个不是??????
<javascript src="jquery.js"></javascript>
$(document).ready(function(){
//包含上面的内容
});已经说的很详细啦 :))))
<javascript src="jquery.js"> </javascript>
$(document).ready(function(){
$("button").removeClass().css({color:"#ccc"});//样式自己调
$("body").prepend(" <div id='replace' style='background-color:#eee; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); height:100%; width:100%; position:absolute; z-index:2;' > </div>");
}); $("#replace").remove();
但是这句是在哪里使用的?
<head runat="server">
<title>无标题页</title>
<style type="text/css">
BODY
{
padding: 0;
font-size: 12px;
color : #000DD4;
background: #ffffff;
font-family: "宋体" , "Helvetica" , "sans-serif";
margin: 2px;
height:100%;
}
</style>
<script language="Javascript" type="text/javascript">
dialogboxWrite(); // 写入对话框div
function test1(){
dialogboxAlpha();
}
function test2(){
dialogboxAlpha("<input type='button' onclick='dialogboxAlpha()' value='关闭'>");
} function dialogboxWrite() {
var dialogbox = ' \
<style type="text/css"> \
#dialogShowBox { \
text-align: center; \
position: absolute; \
left: 0; \
top: 0; \
z-index: 99; \
width: 100%; \
height: 100%; \
} \
#dialogLeft { \
position: absolute; \
left: 0; \
top: 0; \
z-index: 1002; \
width: 100%; \
height: 100%; \
} \
#dialogAlphaBox { \
position: absolute; \
left: 0; \
top: 0; \
z-index: 1000; \
width: 100%; \
height: 100%; \
background: #000; \
filter:alpha(opacity=60); /* IE */ \
opacity: 0.6; /* 支持CSS3的浏览器 */ \
-moz-opacity: 0.6; /* Moz + FF */ \
} \
#dialogContent { \
color: #416f02; \
margin: 0 auto; \
margin-top: 150px; \
width: 200px; \
height: 50px; \
padding-left: 0px; \
border: 2px solid #ff7e02; \
background-color: #fff; \
} \
</style> \
<div id="dialogShowBox" style="display:none;"> \
<div id="dialogLeft"> \
<div id="dialogContent"></div> \
</div> \
<div id="dialogAlphaBox"></div> \
</div>';
document.write(dialogbox);
} function dialogboxAlpha(content, w, h) {
var showBox = document.getElementById("dialogShowBox");
var bgalpaha = document.getElementById("dialogAlphaBox");
var objContent = document.getElementById("dialogContent");
if(showBox && bgalpaha && objContent){
if(showBox.style.display == "none") {
showBox.style.display = "block";
showBox.style.height = document.documentElement.scrollHeight;
bgalpaha.style.height= document.documentElement.scrollHeight+"px";
bgalpaha.style.width = document.documentElement.scrollWidth + "px";
if(!content){
var processing = " <marquee style='border:1px solid #000000;width:150px;;background-color:#FFFFEC' direction='right' ";
processing += " scrollamount='5' scrolldelay='10'>";
processing += " <table cellspacing='1' cellpadding='0'>";
processing += " <tr style='height:8px;'>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " </tr>";
processing += " </table>";
processing += "</marquee>";
content = '<table border="0" style="width:100%;height:100%"> \
<tr><td style="text-align:center;font: 12px Verdana,Tahoma,sans-serif,Arial,宋体"> \
程序处理中,请稍候...</td></tr> \
<tr><td style="text-align:center;">' + processing + '</td></tr></table>';
}
objContent.innerHTML = content;
if(w) objContent.style.width = w + "px";
if(h) objContent.style.height = h + "px";
// 显示全部的Select
var list = document.getElementsByTagName("SELECT");
for(var i=0;i<list.length;i++)
list[i].style.display="none";
} else {
showBox.style.display = "none";
// 显示全部的Select
var list = document.getElementsByTagName("SELECT");
for(var i=0;i<list.length;i++)
list[i].style.display="";
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="test" onclick="test1();" />
<input type="button" value="test" onclick="test2();" />
</div>
</form>
</body>
</html>
<asp:Button ID="btn_Add" runat="server" Text="统计" OnClick="btn_Add_Click" />
怎么设置能执行Click事件
onclientclick="test1()" />
// 显示全部的Select
是做什么用的?
关闭div时,再显示select那个示例除了滚动栏,其它都支持IE和FF
还有一段JSfunction isContinueLoad(){
var startYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_BeginYear").value;
var endYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_EndYear").value;
var hasStatedYears = "<%= hasStatedYears%>";
var years="";
for(var i=startYear;i<=endYear;i++){
if(hasStatedYears.indexOf(i) != -1){
years += i + " ";
}
}
if(years != ""){
return( confirm(years + " 已统计,要重新统计吗?"))
}
else{
return true;
}
}这样当我运行时,这个判断的和弹出的DIV一起出现判断的就不起作用了不知道怎么解决
var startYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_BeginYear").value;
var endYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_EndYear").value;
var hasStatedYears = "<%= hasStatedYears%>";
var years="";
for(var i=startYear;i<=endYear;i++){
if(hasStatedYears.indexOf(i) != -1){
years += i + " ";
}
}
// if(years != ""){
// return( confirm(years + " 已统计,要重新统计吗?"))
// }
// else{
// return true;
// }
if(years != ""){
if( confirm(years + " 已统计,要重新统计吗?")){
// document.getElementById("ctl00$ContentPlaceHolder1$btn_Select").style.display="none"; test1();
return true;
}else{
return false;}
}
else{
test1();
return true;
}
}
关闭div时,再显示select去除select 不可取吧?
一:
如果aspx页面中没有JS文件,则
不需要弹出DIV 只要在执行过程中把按钮设为不可用即可,例如
<asp:Button ID="btn_Save" runat="server" OnClick="btn_Save_Click" Text="创建" OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="false"/> 二:
如果aspx页面中含有JS文件,则
可通过弹出DIV阻止使用,例如:aspx页面:
<script language="Javascript" type="text/javascript">
dialogboxWrite(); // 写入对话框div
function test1(){
dialogboxAlpha();
}
function test2(){
dialogboxAlpha("<input type='button' onclick='dialogboxAlpha()' value='关闭'>");
} function dialogboxWrite() {
var dialogbox = ' \
<style type="text/css"> \
#dialogShowBox { \
text-align: center; \
position: absolute; \
left: 0; \
top: 0; \
z-index: 99; \
width: 100%; \
height: 100%; \
} \
#dialogLeft { \
position: absolute; \
left: 0; \
top: 0; \
z-index: 1002; \
width: 100%; \
height: 100%; \
} \
#dialogAlphaBox { \
position: absolute; \
left: 0; \
top: 0; \
z-index: 1000; \
width: 100%; \
height: 100%; \
background: #000; \
filter:alpha(opacity=60); /* IE */ \
opacity: 0.6; /* 支持CSS3的浏览器 */ \
-moz-opacity: 0.6; /* Moz + FF */ \
} \
#dialogContent { \
color: #416f02; \
margin: 0 auto; \
margin-top: 150px; \
width: 200px; \
height: 50px; \
padding-left: 0px; \
border: 2px solid #ff7e02; \
background-color: #fff; \
} \
</style> \
<div id="dialogShowBox" style="display:none;"> \
<div id="dialogLeft"> \
<div id="dialogContent"></div> \
</div> \
<div id="dialogAlphaBox"></div> \
</div>';
document.write(dialogbox);
} function dialogboxAlpha(content, w, h) {
var showBox = document.getElementById("dialogShowBox");
var bgalpaha = document.getElementById("dialogAlphaBox");
var objContent = document.getElementById("dialogContent");
if(showBox && bgalpaha && objContent){
if(showBox.style.display == "none") {
showBox.style.display = "block";
showBox.style.height = document.documentElement.scrollHeight;
bgalpaha.style.height= document.documentElement.scrollHeight+"px";
bgalpaha.style.width = document.documentElement.scrollWidth + "px";
if(!content){
var processing = " <marquee style='border:1px solid #000000;width:150px;;background-color:#FFFFEC' direction='right' ";
processing += " scrollamount='5' scrolldelay='10'>";
processing += " <table cellspacing='1' cellpadding='0'>";
processing += " <tr style='height:8px;'>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " <td style='width:8px;background-color:#3399ff;'></td>";
processing += " <td></td>";
processing += " </tr>";
processing += " </table>";
processing += "</marquee>";
content = '<table border="0" style="width:100%;height:100%"> \
<tr><td style="text-align:center;font: 12px Verdana,Tahoma,sans-serif,Arial,宋体"> \
程序处理中,请稍候...</td></tr> \
<tr><td style="text-align:center;">' + processing + '</td></tr></table>';
}
objContent.innerHTML = content;
if(w) objContent.style.width = w + "px";
if(h) objContent.style.height = h + "px";
// 显示全部的Select
var list = document.getElementsByTagName("SELECT");
for(var i=0;i<list.length;i++)
list[i].style.display="none";
} else {
showBox.style.display = "none";
// 显示全部的Select
var list = document.getElementsByTagName("SELECT");
for(var i=0;i<list.length;i++)
list[i].style.display="";
}
}
}
function isContinueLoad(){
var startYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_BeginYear").value;
var endYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_EndYear").value;
var hasStatedYears = " <%= hasStatedYears%>";
var years="";
for(var i=startYear;i <=endYear;i++){
if(hasStatedYears.indexOf(i) != -1){
years += i + " ";
}
}
if(years != ""){
if( confirm(years + " 已统计,要重新统计吗?")){
test1();
return true;
}else{
return false;}
}
else{
test1();
return true;
}
} </script><asp:Button ID="btn_Select" runat="server" OnClick="btn_Select_Click" Text="统计"/>
在CS文件中的if (!IsPostBack)中注册
this.btn_Select.Attributes.Add("onclick", "return isContinueLoad();");
数据添加完毕,显示出按钮,例如function isContinueLoad(){
var startYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_BeginYear").value;
var endYear = document.getElementById("ctl00$ContentPlaceHolder1$txt_EndYear").value;
var hasStatedYears = " <%= hasStatedYears%>";
var years="";
for(var i=startYear;i <=endYear;i++){
if(hasStatedYears.indexOf(i) != -1){
years += i + " ";
}
}
if(years != ""){
if( confirm(years + " 已统计,要重新统计吗?")){
document.getElementById("ctl00$ContentPlaceHolder1$btn_Select").style.display="none";
return true;
}else{
return false;}
}
else{
document.getElementById("ctl00$ContentPlaceHolder1$btn_Select").style.display="none";
return true;
}
}
关于:ctl00$ContentPlaceHolder1$btn_Select
因为是服务器控件,则在实际执行过程中,你可以通过查看源文件得到此按钮的ID实际上为什么