很多情况下,其他表单元素也可以设置为同名。例如,在注册界面上,输入用户的电话号码,最多可以输入4个,就可以用4个同名的文本框进行输入。代码如下:
multiNameForm.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
请您输入自己的信息进行注册
<form action="multiNameForm_result.jsp" method="post">
请您输入您的电话号码(最多4个):<BR>
<%for(int i=1;i<=4;i++){ %>
号码<%=i %>:<input name="phone" type="text"><BR>
<%} %>
<input type="submit" value="注册">
</form>
</body>
</html>
注意,此处四个文本框名字都叫做:phone。
运行效果如图所示:
-->
为了演示,我们直接提交到一个jsp页面:
multiNameForm_result.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String[] phone = request.getParameterValues("phone");
out.println("号码为:");
for(int i=0;i<phone.length;i++){
out.println(phone[i]);
}
%>
</body>
</html>
提交后样式:
-->
此时,第一个号码放在phone[0]内,第二个号码放在phone[1]内,以此类推。到底哪个号码放在哪个位置呢?答案是:以文本框在表单中出现的顺序,由先到后的顺序保存在数组中。