`
Beaver's
  • 浏览: 397612 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

JS 读取 HTML 中同一 NAME 属性值的多个参数

    博客分类:
  • java
阅读更多
我们通常读取的都是根据 HTML 中的标签的不同的 NAME 值来获取 Parameter 的,但是,如果有多个标签是相同的 NAME  值呢?比方说 HTML 如下的网页:

<form id="loginForm" method="post" action="login" onsubmit="return checkForm(loginForm)">
         <div>Username:<input class="input" type="text" name="name" value=""/><div>
         <div>Password:<input class="input" type="text" name="name" value=""/><div>
         <input type="submit" value="Submit"/>
<form> 
 

可以参考一下代码进行解决:
<script type="text/javascript">
function checkForm(form){
        var flag = true;
	var nameArray = document.getElementsByName('name')
	for(var i=0;i<nameArray .length;i++){
		 if(nameArray [i].value==""){
			 flag = false;
			 break;
		 }
	}
	if(flag == false){
		window.alert("用户名或密码不能为空");
	}
	return flag;
}
</script>



如果用 Servlet 读取 HTML 中同一 NAME 属性值的多个参数

此时我们可以参照如下代码解决问题:
   1:  String[] values = req.getParameterValues("name");
   2:  if (values.length == 1) {
   3:      if (values[0].length() != 0) {
   4:          resp.getWriter().println("" + values[0] + "");
   5:      } else {
   6:          resp.getWriter().println("空值");
   7:      }
   8:  } else {
   9:      for (String s : values) {
  10:          resp.getWriter().println("" + s + "");
  11:      }
  12:  }

也就是调用 getParameterValues("name") 来读取多个值。
此外,我们还可以通过 getParameterMap() 来实现:
   1:  Map parasMap = req.getParameterMap();
   2:  Set> parasSet = parasMap.entrySet();
   3:  for (Map.Entry s : parasSet) {
   4:      String[] values = s.getValue();
   5:      for (String val : values) {
   6:          if (val.length() != 0) {
   7:              resp.getWriter().println("" + val + "");
   8:          } else {
   9:              resp.getWriter().println("空值");
  10:          }
  11:      }
  12:  }


参考链接:
http://blog.csdn.net/mzule/article/details/6193870
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics