<script>
//jsp只能取得页面对象的值,所以把javascript里的值转换到隐藏对象去。arr是你已经得到的数组
for (var i=0; i<arr.length; i++)
{
var obj=document.createElement("HIDDEN");
obj.name="names"+i;
obj.value=arr[i];
}//下面这句应该在方法体内部,不然你就看不到你的页面 ^_^
document.forms[0].submit();
</script>
//jsp只能取得页面对象的值,所以把javascript里的值转换到隐藏对象去。arr是你已经得到的数组
for (var i=0; i<arr.length; i++)
{
var obj=document.createElement("HIDDEN");
obj.name="names"+i;
obj.value=arr[i];
}//下面这句应该在方法体内部,不然你就看不到你的页面 ^_^
document.forms[0].submit();
</script>
解决方案 »
- 【统计】大家在设计数据库主键用的什么类型【回者都有分】
- 怎样保护class文件
- =========struts里面radio的默认值该怎么设置。=======
- css div的background问题
- 获取用request.getRemoteAddr() 然后...
- 求一个用MVC框架开发的简单的网上商城系统,在线等。
- jsp连接mysql ie一片空白
- resin2.1.5中文问题(在线等)
- 怎么样设置一台jsp web服务器,都需要什么?jdk resin 都有了,还需要。。??
- ofbiz 异常: Exception : java.lang.NoSuchMethodException
- 请问:如何使用jfreechart根据数据库中的数据来画图?
- jbuilderX的servlet如何升级????
记住一条规律,客户端的事件如果不提交,服务器根本不知道你在干什么,所以要想在JSP中获得JS中的数据,不提交是不可能的!
你那JS 和 Java 不可能同时执行 ( 一个在客户端,一个在服务端).先说说你为什么需要这样 把那些名字提交 的 实现方式, 说出来肯定可以找到其他方法达到目的的.
<%
//验证检查
ErrorCheck check = new ErrorCheck();//实例化一个合法性检查的类
check.setFormName("form1");//设定form名
check.nullCheck("inputName","不能为空");//该方法会凑出检查inputName是否为空的一个javascript代码字符串
String ErrorCheckScript=check.ErrorCheckScript();//生成javascript字符串
out.print(ErrorCheckScript);//在JSP页面上生成javascript
%> 而我现在JSP上有一堆INPUT需要做同样的合法性检查:check.nullCheck("inputName","不能为空");
于是想得到所有的input name,然后遍历,如下:
for (int i=0; i<inputName.length; i++) {
check.nullCheck(inputName[i],"不能为空");
} 由于inputName是有javascript得到的数组,如何能放到java的数组inputName[]里?
//jsp只能取得页面对象的值,所以把javascript里的值转换到隐藏对象去。arr是你已经得到的数组
//定义一个对象,来存取数组的个数
var length=document.createElement("HIDDEN");
length.name="size";
length.value=arr.length;
for (var i=0; i<arr.length; i++)
{
var obj=document.createElement("HIDDEN");
obj.name="names"+i;
obj.value=arr[i];
}//下面这句应该在方法体内部,不然你就看不到你的页面 ^_^
document.forms[0].submit();
</script>
然后在jsp里
<%
...
String strSize=request.getParameter("size");//看这里length.name="size";
int intSize=0;
try { intSize=Integer.parseInt(strSize); }
catch (Exception ex){}
String[] values=new String[intSize];
for (int i=0; i<intSize; i++)
{
values[i]=request.getParameter("names"+i); //和这里对应的obj.name="names"+i;
}//values里就是你要的东西了
<FORM name="hidfrm" style="display:none" action="rs.jsp">
<input name="hidtxt" type="hidden" value="">
</form><script language="JavaScript" type="text/JavaScript">
var namelist = "";function initInputTextName() {
var size = document.all.tags('input').length;
var j=0;
for (var i=0; i<size; i++) {
if (document.all.tags('input')[i].type=="text"){
//this[j++]=document.all.tags('input')[i].name; //可以不要
nameList+=document.all.tags('input')[i].name+",";
}
}
document.hidfrm.hidtxt.value=nameList; //赋值,采用逗号分割
document.hidfrm.submit(); //提交表单
}
//var inputTextName = new initInputTextName(); //这个可以不要//调用inputTextName函数 完成值组装后自动提交表单
inputTextName();
</script>
rs.jsp 文件中这样取得
<%
String nameStr = request.getParmeter("hidtxt");
String[] nameList = nameStr.split(","); //这个数组就是你要的数组了
%>