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

来源:转载

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

<form method="post" action="login" onsubmit="return checkForm(loginForm)"> <div>Username:<input type="text" value=""/><div> <div>Password:<input type="text" 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



分享给朋友:
您可能感兴趣的文章:
随机阅读: