我做的一个JSP页面,经测试JAVA部分能正常执行,但其中的JAVASCRIPT脚本无法执行,每次运行到脚本部分就跳过了,请高手指点一下。
代码如下:
<%
if(userid.equals("AA")){ //如果userid等于AA
%><script language='javascript'>");
if(confirm(“是否要注销”)){
<%
System.out.println("执行A操作");
%>
}else{
<%
System.out.println("执行B操作");
%>
}
</script> 这段代码主要是如果ID为AA的话,则弹出一个 confirm对话框,如果点击“确定”则执行一段代码,如果点击“取消”则执行另一段代码 现在的执行结果是“ confirm”对话框根本就没有出现,而jsp把A和B操作都执行了,我只想让执行其中一个操作,我应该怎么做??? 谢谢各位兄弟姐妹了:)
代码如下:
<%
if(userid.equals("AA")){ //如果userid等于AA
%><script language='javascript'>");
if(confirm(“是否要注销”)){
<%
System.out.println("执行A操作");
%>
}else{
<%
System.out.println("执行B操作");
%>
}
</script> 这段代码主要是如果ID为AA的话,则弹出一个 confirm对话框,如果点击“确定”则执行一段代码,如果点击“取消”则执行另一段代码 现在的执行结果是“ confirm”对话框根本就没有出现,而jsp把A和B操作都执行了,我只想让执行其中一个操作,我应该怎么做??? 谢谢各位兄弟姐妹了:)
jsp页面的java和jacascript的运行机制是不同的
java代码的编译是在服务器端,
jsp代码是在服务器端转换成为servlet代码并得到编译,
在客户端页面加载的时候其中的java代码就得到了运行,所以你的print语句会被执行;
但是javascript的代码是首先跟随页面被下载到客户端,当有时间请求的时候才得到执行
所以,不能用javascript脚本去控制java脚本的。
如果A B 操作不是java脚本时间
而是页面事件或者javascript可以完成的事件
你可以使用showdialog的方式,根据返回值的结果进行程序的控制
<%
if(userid.equals("AA")){ //如果userid等于AA
%><script language='javascript'>;
if(confirm('是否要注销'))
document.location.href='A操作的对应的连接';
else
document.location.href='B操作的对应的连接';
</script>
<%}%>
function check(){
var userID="<%=userID%>";
if(userID=="AA"){
do A...
}else{
do B...
}
}
这里的A和B也只能是JS函数。