注册 登录
编程论坛 ASP.NET技术论坛

后台怎么控制前台的javascript函数?急

zyp50725405 发布于 2007-11-08 17:03, 2666 次点击
我在前台写了一个倒计时(javascript),我想在单击一个按钮后就开始倒计时,并把倒计时的内容显示在BUtton控件上.button_click事件怎么写?
<SCRIPT LANGUAGE="JavaScript">
var maxtime = 60*60 //一个小时,按秒计算,自己调整!
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "距离结束还有"+minutes+"分"+seconds+"秒";
window.status=msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
}
else{
clearInterval(timer);
alert("时间到,结束!");
}
}
setInterval("CountDown()",1000);
</SCRIPT>
16 回复
#2
chashen88882007-11-08 18:41

你可以试试这个,或者可以给你点启发.我未试过,不知行不行.
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write("<script language='javascript'>alert('该账号已激活,请到首页登录');</script>");
}
看到没有?把javascript放在后台里。

#3
cxwl3sxl2007-11-08 18:43
  直接写成js函数不就可以了么!!没有必要采用服务器段修改~~








[此贴子已经被作者于2007-11-8 18:44:34编辑过]


#4
cxwl3sxl2007-11-08 18:54
<html>
<head>
<script>
var maxtime = 60*60 //一个小时,按秒计算,自己调整!
var sgo=false;
function mystart()
{
sgo=true;
}
function CountDown()
{
if(sgo)
{
if(maxtime>=0)
{
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "距离结束还有"+minutes+"分"+seconds+"秒";
window.status=msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
}
else
{
clearInterval(timer);
alert("时间到,结束!");
}
}
}
setInterval("CountDown()",1000);
</script>
</head>
<body>
<input type="button" value="点我" onclick="mystart()"/>
</body>
</html>

[此贴子已经被作者于2007-11-8 18:57:30编辑过]

#5
zyp507254052007-11-08 19:54
楼上的讲的不错。不过我再说清楚点。就是在线考试系统。时间到了。该怎么调用后台程序?上面的只是实现了一个计时器。但没有实现控制的功能。时间到了。我就要处理考生的答案。恳求大家再给点指导。谢谢!》。。。。
#6
bygg2007-11-08 20:12
else
{
clearInterval(timer);
alert("时间到,结束!");
<%=后台方法%>
}
#7
zyp507254052007-11-08 21:23
楼上的版主,不行啊。我在后台定义了一个提交函数,public void tijiao(),运行出现错误。说是不能直接从void 转换为char
#8
zyp507254052007-11-08 21:28

只要能执行后台的什么都行

#9
yms1232007-11-08 21:50
实现楼主的功能办法一就是时间一到提交表单,办法二就是Ajax。
#10
冰彩虹2007-11-08 23:12

<asp:Button ID="svrBtnClick" runat="server" OnClientClick="return CountDown()" OnClick="svrBtnClick_Click"></asp:Button>

时间到了在你写的js function CountDown 返回一个true,按钮就运行svrBtnClick_Click执行服务器端事件

类似上面的不知道是否可以满足你的要求...

#11
zyp507254052007-11-09 11:45

怎么自动触发Button_Click 事件?
Button_Click 是后台写的判断写入数据库。原因是到时间不会自动触发?
楼上讲的我也用了。还是不行啊!

#12
zyp507254052007-11-09 16:24

我不实现了。到时间不点提交按钮就按零分计算.多谢各位大家的支持!!!

#13
bygg2007-11-10 12:37
你把那个时间显示在一个lable里面,再在这个lable的Text_Change...事件中写那个判断
也就是说当时间一到,就执行你的那个函数。。。
#14
zyp507254052007-11-10 14:28
我还是没能实现。我就换了方式,到时间不点交卷按钮的按零分算.
#15
bygg2007-11-10 16:03
晕,那有这样的网上考试啊?
#16
cxwl3sxl2007-11-15 21:04

还可以在时间到了的时候回调服务器断的函数,好像可以用_dopostback(linkbutton_onclick)好像可以这样!你查一哈吧

#17
sean882007-11-16 10:29

方法1:
在后台中用response.Write("<script>...</script>")的方法把javascript打出来,然后再继续执行后台其他的保存方法函数。

方法2:
在脚本中调用:
<script language="javascript">
function save()
{
__doPostBack('lbtnOK','')
}
</script>
lbtnOk 为服务器控件名称,调用的为lbtnOk的单击事件,事件里面写的保存方法.

方法3:这个方法我曾经看过的,但没用过,给一个思路.
var http=new ActiveXObject("Msxml2.XMLHTTP")
var str="key=value"
http.open("POST","url",false);

做一個url頁面写你要处理的函數

然後requst.form("key")获取参数来执行函数
http.responsetext得到返回结果

方法4:就是用Ajax了,想怎么调用就怎么调用,呵`~

[此贴子已经被作者于2007-11-16 10:33:51编辑过]

1