Reputation: 559
I have a form in my jsp, that does not have fixed amount of fields. User can add row(s) as many as wishes. This is my code of the form:
<form class="metrics_values" action="refreshMetrics.jsp" method="POST">
<div id="userId">User test id: <input type="text" name="userId" /> <input class="none" type="submit" value="Submit"></div>
<div class="rowWrapper">
<div class="row mName">
<input list="metrics" placeholder="Metric Name" name="metric_name" />
<datalist id="metrics">
<option value="userAgent">
<option value="header">
<option value="sni">
<option value="isversion_1_1">
<option value="sslVersion">
<option value="contenttype">
<option value="days">
<option value="server">
<option value="expip">
<option value="expauth">
<option value="expectmatch">
<option value="username">
<option value="password">
<option value="dbname">
<option value="redirectionFlag">
<option value="noDnsCache">
<option value="redirectionFlag">
</datalist>
</div>
<div class="row mvalue">
<input type="text" placeholder="Metric Value" name="metric_value" />
</div>
</div>
</form>
<a href="#" title="add row" class="add-row">+</a>
And jQuery for adding row:
jQuery(function(){
var counter = 1;
jQuery('a.add-row').click(function(event){
event.preventDefault();
counter++;
var newRow = jQuery('<div class="rowWrapper"><div class="row mName"> <input list="metrics" placeholder="Metric Name" name="metric_name"/> </div><div class="row mvalue"><input type="text" placeholder="Metric Value" name="metric_val"/></div></div>');
jQuery('form.metrics_values').append(newRow);
});
});
I'v tried to get data with this:
Enumeration<String> paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
out.print("<tr><td>" + paramName + "</td>\n");
String paramValue = request.getHeader(paramName);
out.println("<td> " + paramValue + "</td></tr>\n");
}
but it returns null
for paramValue
.
Any ideas?
Upvotes: 0
Views: 94
Reputation: 176
try this :
String[] names = request.getParameterValues("metric_name");
String[] values = request.getParameterValues("metric_value");
for (int i = 0; i < names.length; i++) {
System.out.print("<tr><td>" + names[i] + "</td>\n");
System.out.println("<td> " + valuse[i] + "</td></tr>\n");
}
Upvotes: 1