如何在Javascript中调用jsp变量 str是不是含有非法字符了?用var st=escape("<%=str%>");试试呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var st=<%=str%>;->var st='<%=str%>'; 不过.要先把str里的'字符转成\' 如果用'<%=str%>',好像用alert(st);打印出来就变成了<%=str%>,取不到原来的值,而escape("<%=str%>");调用以后同样用alert(st);显示出来是乱码,不知道为什么? 先把str里的'字符转成\',怎么转呢? 你所说的jsp变量是scriptlet变量如<%int i=0;%>呢还是页面变量如<input type="hidden" name="aa" id="aa">呢? 后者可以用document.getElementById("aa").value或是document.xxform.aa.value(在form中的变量)来得到,前者的话可以在页面中设置一个隐藏变量<input type="hidden" name="bb" id="bb" value=<%=i%>>再通过document.getElementById("bb").value来得到 可以这样理解:var str=常量因为 这个常量是字符 所以应该加上引号。 我用的是jsp变量是scriptlet变量,但是用value=<%=i%>好像得不到原来变量i的值,i是String型的,加了引号好像也不行,这是为什么? 首先要了解scriptlet是在服务器端运行的,javascript是在客户端运行的,scriptlet中的代码是在整个页面显示之前就完成计算的,而javascript代码是按照顺序由上往下执行的,因此在javascript中不能简单的得到script中的代码. 可以这样:在页面中紧接着<body>设置一个隐藏变量<input type="hidden" name="bb" id="bb" value=<%=i%> />再在javascript中通过document.getElementById("bb").value来得到,我已经试过了,这样是行的通的. <input type="hidden" name="bb" id="bb" value=<%=i%> />这样在页面上回多出一个/>我觉得value的值是不是要处理一下 比如加引号什么的 如果用'<%=str%>',好像用alert(st);打印出来就变成了<%=str%>,取不到原来的值,而escape("<%=str%>");调用以后同样用alert(st);显示出来是乱码,不知道为什么?---------------------------------------------------------------escape("<%=str%>");打印出来时乱码是因为escape将str的内容加密了,接收的时候用unescape解码就好了。 不过我到现在还不清楚escape使用什么算法进行加码的。我知道DES算法是可逆的,是这个算法还有别的? 不可能,我在工程中多次用到此方法,绝无问题,以下是一个实际的例子:<%long dwId = -1;%><input type="hidden" name="dwId" id="dwId" value=<%=dwId%> /><script language="javascript">alert(document.getElementById("dwId").value);</script> 那如果我是定义了一个javascript的函数 写在jsp文件中 用的是ibm websphere不知道有没有问题 没问题,我用的就是wsad5.1.1啊.... 我在tomcat 下测试,没有问题的。<%String sName="test";%><html><head><title>欢迎使用Web咨询系统</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body></BODY></HTML><SCRIPT LANGUAGE="JavaScript" defer><!-- var str="<%=sName%>"; alert(str);//--></SCRIPT> 网络聊天室数据总会丢失 请问用ExtJS在一个页面做模块权限控制如何实现 求jquery.js文件~~~~~~~~~~ 请高手们解答! 这句JS有语法错误吗?正确的应该怎样写? 请问如何获取一个textbox或下拉框距离WINDOW的距离? 关于REAL的ActiveX网页播放器的问题 明明用setInterval设定周期的,为什么scrollwindow()只执行了一次??大郁闷 鼠标左键点击超链接,怎样才能出现右键点击时“目标另存为”的效果? json数据的问题 求助!达人请入 打印预览中的定位问题?
->
var st='<%=str%>';
后者可以用document.getElementById("aa").value或是document.xxform.aa.value(在form中的变量)来得到,前者的话可以在页面中设置一个隐藏变量<input type="hidden" name="bb" id="bb" value=<%=i%>>再通过document.getElementById("bb").value来得到
var str=常量
因为 这个常量是字符 所以应该加上引号。
可以这样:在页面中紧接着<body>设置一个隐藏变量<input type="hidden" name="bb" id="bb" value=<%=i%> />再在javascript中通过document.getElementById("bb").value来得到,我已经试过了,这样是行的通的.
我觉得value的值是不是要处理一下 比如加引号什么的
---------------------------------------------------------------escape("<%=str%>");打印出来时乱码是因为escape将str的内容加密了,接收的时候用unescape解码就好了。
<%
long dwId = -1;
%>
<input type="hidden" name="dwId" id="dwId" value=<%=dwId%> />
<script language="javascript">
alert(document.getElementById("dwId").value);
</script>
问题
<%
String sName="test";
%><html>
<head>
<title>欢迎使用Web咨询系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body></BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript" defer>
<!--
var str="<%=sName%>";
alert(str);
//-->
</SCRIPT>