JSP:javascript 實現輸入多行動態輸入

來源:互聯網
上載者:User
javascript|js|動態   一般,我們用
request.getParameter("value");
來獲得靜態HTML輸入的值.然後不要忘記判斷是否為空白,是否含有特殊字元等.

還可以用
Enumeration paramNames=request.getParameterNames();
while(paramNames.hasMoreElements()){String paramName=(String)paramNames.nextElement();}
來收集<input type="text" name="name"/>中的name

但是我們每增加新的一行,參數名同上一行一樣,那麼,我們將如何獲得value的值?
這裡我又去看書(servlet 和 JSP 核心編程,極好的一本書,該講的都講了,讀明白了它servlet/JSP也就可以說精通了)p70頁裡面:getParameterValues()返回字串數組,然後我們用迴圈判斷這個字串數組的長度,再就是獲得值了:)


request.getParameter("value");//這個最熟悉,獲得文字框的值
(Enumeration)request.getParameterNames();//獲得文字框的名字
(String[])request.getParameterValues(paramName);//獲得靜態html頁相同的參數(多次出現)的值

*************html 頁 javascript 代碼:
<script language="javascript">
function tbladdrow()
{
var i=lines.rows.length;
var row = Table1.insertRow(Table1.rows.length);
var col = row.insertCell(0);
col.innerHTML = "<INPUT id=line["+i+"][name1] name=line"+i+"name1 SIZE=10>";
col = row.insertCell(1);
col.innerHTML = "<INPUT id=line["+i+"][name2] name=line"+i+"name2 SIZE=10>";
col = row.insertCell(2);
col.innerHTML = "<INPUT id=line["+i+"][name3] name=line"+i+"name3 SIZE=10>";
col = row.insertCell(3);
col.innerHTML = "<INPUT id=line["+i+"][name4] name=line"+i+"name4 SIZE=10>";
}
function tbladdrows(items)
{
for( i = 1 ; i <= items ; i++)
{
tbladdrow();
}
}
function delrow()
{
if(lines.rows.length==0)
{
return false ;
}
lines.deleteRow();
}

</script>

****************html頁其它代碼:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Big5">
<title>輸入</title>
</head>
<body>
<form action="getInput.jsp">
<DIV align=center><FONT size=2>輸入測試</FONT></DIV></TD>
<TD width=412 bgColor=#e4e4e4>
<TABLE id=Table1 cellSpacing=0 borderColorDark=#ffffff cellPadding=0
width=350 align=center borderColorLight=#000000 border=1>
<TBODY>
<TR bgColor=#999999>
<TH width=94><FONT size=2>參數一</FONT></TH>
<TH width=84><FONT size=2>參數二</FONT></TH>
<TH width=85><FONT size=2>參數三</FONT></TH>
<TH width=77><FONT size=2>參數四</FONT></TH></TR>
<TBODY id=lines name="lines"><!--
<TR>
<TD><INPUT id="things_name" TYPE="text" NAME="things_name" SIZE="15"></TD>
<TD><INPUT id="things_model" TYPE="text" NAME="things_model" SIZE="10"></TD>
<TD><INPUT id="things_number" TYPE="text" NAME="things_number" SIZE="5"></TD>
<TD><input id="things_unit" type="text" name="things_unit" size="5"></TD>
</TR>
--></TBODY></TABLE>
<DIV align=center><BR></DIV>
<DIV align=center>
<INPUT id=items type=hidden value=1 name=items> <INPUT onclick=tbladdrow(items.value);

type=button value=新增一行 name=insert/>
<font color="#e4e4e4"> </font>
<INPUT language=javascript type=button value=刪除一行 name=del/>
</DIV></TD></TR></TBODY></TABLE>
<input type="submit" value="commit"/>
</form>
</body>
</html>

***jsp頁收集輸入
<%@ page contentType="text/html;charset=Big5"%>
<%@ page import="java.util.*"%>

<%
request.setCharacterEncoding("big5");

Enumeration paramNames=request.getParameterNames();
String paramName=null;
while(paramNames.hasMoreElements()){
paramName=(String)paramNames.nextElement();

String param=request.getParameter(paramName);

//out.println(paramName+"  "+param+"<br>");

String paramValues[]=request.getParameterValues(paramName);
for(int i=0; i<=paramValues.length-1; i++)
{
out.println(paramName+" ");
out.println(paramValues[i]+"<br>");}

}



//out.println("<br>"+name);

%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Big5">
<title>接受輸入</title>
</head>
<body>
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.