今天遇到个问题,需要在页面的JavaScript语句中获得Java变量。
其实,我第一次就写对了,但在怎么也获得不到值。我以为自己写的不对,于是在网上搜索,试遍所有找的方法,依然获得不到值。心中郁闷,一怒之下就撂下不干了。出去转了一圈,回来一想,是不是Java变量本来就没有值呢?一试,果然如此!气得我的肠子都青了。
但是回头一看,居然知道了几种在JavaScript中获得Java变量的方法,有的方法是我原来不知道的。这也算因祸得福把。呵呵~
下面把在网上搜索到的集中方法记下来,以后备用,嘻嘻……
方法一:
直接在JavaScript中用jsp表达式获得Java变量。
var v = "<%=javaVariable %>" //注意要有双引号,javaVariable是数字时可不用双引号。(我第一次就是用的这种方法)
方法二:
在页面中添加一个类型为hidden的input标签,并把其值设为Java变量,然后在JavaScript中获得Java变量。
页面中input标签为:<input type= "hidden" id="javaVarId" name ="javaVarName" value="<%=javaVariable %>" />
JavaScript中语句为:var v = document.form1.javaVarName.value; (有表单form1)
或者:var v = document.getElementById("javaVarId").value; (没有表单)
基本上就这两种方法了。
--------------------------------------------------------------------------------------------------------------------------------------------
另外再说一个如何在JavaScript中获得select标签中选中的option值和文本。
页面中:
<select id="selt" name="select1">
<option id="1" value="1">选项一</option>
<option id="2" value="2">选项二</option>
<option id="3" value="3">选项三</option>
</select>
JavaScript中:
// 如果select位于表单(form1)中,则可使用如下方法:
//获得用户选中的项的索引
var index = window.document.form1.select1.selectedIndex;
//根据索引获得该选项的value值
var val = window.document.form1.select1.options[index].value;
//如果select并非表单元素,则如下:
var index = window.document.getElementById("selt").selectedIndex;
var val = window.document.getElementById("select1").options[index].value;
//*根据index获取选中项的Text值,即在下拉列表中显示的选项文本
var vname=window.document.getElementById("selt").options[index].text;