首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

表单问题!

我有以下表单提取的值。有没有什么方法可以一次简单的判断提交过来的所有参数的值都不为空?用getParameterNames()取的话连按钮框里的值都取到了,晕!


String select1=new String(request.getParameter("select1").getBytes("GBK"),"ISO-8859-1");
String select2=new String(request.getParameter("select2").getBytes("GBK"),"ISO-8859-1");
String select3=new String(request.getParameter("select3").getBytes("GBK"),"ISO-8859-1");
String select4=new String(request.getParameter("select4").getBytes("GBK"),"ISO-8859-1");
String select5=new String(request.getParameter("select5").getBytes("GBK"),"ISO-8859-1");
String select6=new String(request.getParameter("select6").getBytes("GBK"),"ISO-8859-1");
String select7=new String(request.getParameter("select7").getBytes("GBK"),"ISO-8859-1");
String select8=new String(request.getParameter("select8").getBytes("GBK"),"ISO-8859-1");
String select9=new String(request.getParameter("select9").getBytes("GBK"),"ISO-8859-1");
String select10=new String(request.getParameter("select10").getBytes("GBK"),"ISO-8859-1");
String select11=new String(request.getParameter("select11").getBytes("GBK"),"ISO-8859-1");
String select12=new String(request.getParameter("select12").getBytes("GBK"),"ISO-8859-1");
String select13=new String(request.getParameter("select13").getBytes("GBK"),"ISO-8859-1");
String select14=new String(request.getParameter("select14").getBytes("GBK"),"ISO-8859-1");
String select15=new String(request.getParameter("select15").getBytes("GBK"),"ISO-8859-1");
String select16=new String(request.getParameter("select16").getBytes("GBK"),"ISO-8859-1");
String select17=new String(request.getParameter("select17").getBytes("GBK"),"ISO-8859-1");
String select18=new String(request.getParameter("select18").getBytes("GBK"),"ISO-8859-1");
String select19=new String(request.getParameter("select19").getBytes("GBK"),"ISO-8859-1");
String select20=new String(request.getParameter("select20").getBytes("GBK"),"ISO-8859-1");
String select21=new String(request.getParameter("select21").getBytes("GBK"),"ISO-8859-1");
String select22=new String(request.getParameter("select22").getBytes("GBK"),"ISO-8859-1");



我加了这句来判断
Enumeration num=request.getParameterNames();
while(num.hasMoreElements()){
String key=(String)num.nextElement();
String value=(String)request.getParameter(key);
out.println(value);
}

但取出来的值把按钮框的值都得到了,况且是没有顺序的?我的按钮在最后一个,取的时候切显示在中间,如果在后面的话还可以用表单数来判断。
昵称: 雨伞  时间: 2004-04-18 13:09:00
一共22个值,我想一次用循环判断所有值是否为空,有一个为空就不通过,一个参数有值的话就把I+1。一直到22。小于22的话就表示有个参数没有值!
String[] value=request.getParameterValues("select");
int j=0;
for(int i=0;i<value.length;i++){
String num=(String)value;
if (num!=null||!num.equals("")){
this.j=j+1; //这行出错,我想把FOR外面的J+1应该怎么写?
}
out.print(num);
}
if (j<22){ //然后这里判断J是否小于22
out.println("<script language='javascript'>alert('没有填写完整!');history.back();</script>");
return;
}
昵称: 雨伞  时间: 2004-04-18 14:21:00
交给servlet来处理了。
昵称: 飞光  时间: 2004-04-18 15:35:00

我都是JSP页面。JAVASCRIPT检测了。晕。
昵称: 雨伞  时间: 2004-04-18 16:29:00
写一个函数吧,然后用调用的
昵称: wm_chief  时间: 2004-04-18 16:53:00


QUOTE:
最初由 飞光 发布
[B]交给servlet来处理了。 [/B]
用servlet怎�N��理?
昵称: kind.huang  时间: 2004-04-18 22:42:00


QUOTE:
最初由 kind.huang 发布
[B]用servlet怎�N��理? [/B]
提交给SERVLET,取得值,但还是一样得一个个判断,一个个写参数名,不知道什么办法比较好。

后来我写的这个,我想是可以的,但就是不行,J值是22,但参数值不是22了,晕倒。。

String[] value=request.getParameterValues("select");
int j=0;
for(int i=0;i<value.length;i++){
String num=(String)value;
if (num!=null||!num.equals("")){
j=j+1; //这行出错,我想把FOR外面的J+1应该怎么写?
}
out.print(num);
}
if (j<22){ //然后这里判断J是否小于22
out.println("<script language='javascript'>alert('没有填写完整!');history.back();</script>");
return;
}
昵称: 雨伞  时间: 2004-04-20 11:33:00
直接判断 if(value.length<22)   out.print("不完整");
昵称: qsy_627  时间: 2004-04-20 12:11:00
to qsy_627:
不明白你说的什么意思。。

我现在修改的代码如下。但不行的。

String[] value=request.getParameterValues("select");
int j=0;
for(int i=0;i<value.length;i++){
String num=(String)value;
if (num!=null||!num.equals("")){
j=j+1; //如果参数不为空的话就加1,到最后如果22个参数都有值的话那J就是22。}
out.print(num);
}
if (j<22){ //然后这里判断J是否小于22
out.println("<script language='javascript'>alert('没有填写完整!');history.back();</script>");
return;
}
昵称: 雨伞  时间: 2004-04-20 12:42:00
解决了,晕。。。完整代码如下:

String[] value=request.getParameterValues("select");
int j=0;
String[] string=new String[22];
for(int i=0;i<value.length;i++){
String num=(String)value;
if (num==null||num.equals("")){
//如果参数不为空的话就加1,到最后如果22个参数都有值的话那J就是22。}
break;
}
else{
string=num;
j=j+1;
}
}
for(int u=0;u<string.length;u++){
out.println(string);
}
if (j<22){ //然后这里判断J是否小于22
out.println("<script language='javascript'>alert('没有填写完整!');history.back();</script>");
return;
}
昵称: 雨伞  时间: 2004-04-20 13:15:00
value.length这个值固定的吗,如果其中几个没填写,提交的select[]的长度也是22吗
昵称: qsy_627  时间: 2004-04-20 14:30:00