JSP中整段for循环没有执行,怎么回事? 40

<%for(intcount=0;count<=10;count++){%><scriptlanguage="javascript">functionyz(){if(ar... <%
for(int count=0;count<=10;count++)
{
%>
<script language="javascript">
function yz()
{
if(ar.equals('是'))
{
window.location = "shi.jsp";
}
}
setTimeout("yz()",5000);
</script>
<%}
}
response.sendRedirect("fou.jsp");%>
<%
我想5s进行一次验证,如果满足要求的时候跳出循环,直到5*10s后直接跳转到另一个界面。但每次执行都直接跳转到fou.jsp,循环完全没有执行,甚至连最开始的5s都没有延时,这是怎么回事啊?
以上是整个循环体,是语句是没有问题的。前后是连接数据库的语句。
而且很奇怪,倒三行那个}如果没加就会有问题。但我感觉那个是多余的。求助~~~
展开
 我来答
低调DE潜力
2013-12-09 · 超过11用户采纳过TA的回答
知道答主
回答量:25
采纳率:100%
帮助的人:24.4万
展开全部
setTimeout这个计时器调用是异步执行的,就是java里面另外开一个线程,也就是说同一时间在执行setTimeout里面的东西 ,同时主线程也在执行,所以会直接response.sendRedirect("fou.jsp")。不知道是不是这样原因。你可以试试看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思念不及
2013-12-09 · 超过35用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:51.5万
展开全部
<%
for(int count=0;count<=10;count++)
{
out.prinln("<script language="javascript">");
out.prinln(" function yz()");
out.prinln(" {");
out.prinln(" if(ar.equals('是')){ ");
out.prinln("window.location = "shi.jsp"; ");
out.prinln(" }");
out.prinln("}");
out.prinln(" setTimeout("yz()",5000);");
out.prinln(" </script>");
}
}
response.sendRedirect("fou.jsp");%>
亲,哪能直接在java中套js代码。。。你随便找,看看能不能找到这样的
我不知道你的js写的是否正确。如果照我写的不行,你在页面加载时,直接跑你的js,看看有没有问题。如果js没问题,这个代码应该是没问题的
更多追问追答
追问

这怎么改啊??菜鸟自学,很多概念其实并不清晰。。还得请你多多指教啊

追答
全部改为单引号。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xulai_bd
2013-12-09 · TA获得超过198个赞
知道答主
回答量:66
采纳率:0%
帮助的人:48.5万
展开全部
你的setTimeout方法写错了,应该setTimeout("yz();", 5000); 调用yz方法后面要写分号.这样就能运行到JS了。调试的时候可以用F12,开发人员工具浏览器都带的。
追问
我加分号了,开始还是和以前一样啊。。
追答
} 最后的那个就是多余的,<% 你也应该去掉最后一个吧。你F12调试一下就知道那个地方错了。怎么不试一试。你的ar取值什么不是有问题,能取到值进行正常判断吗?打个断点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miaotianfeiyun
2013-12-09 · 超过14用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:30.4万
展开全部
明显结构嵌套有问题,细心检测会发现的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式