这是该问题的解决方案,对于仍然坚持的人。
在jsp中:
<s:form name="enterEmployeeInfo" id="enterEmployeeInfo" action="enterEmployeeInfo"> ////OTHER FORM ELEMENTS////////////// <table> <tr> <td align="center">Relationship</td> <td align="center">Name</td> <td align="center">Age</td> <td align="center">Occupation</td> </tr> <tr> <td> <select name="rel"> <option value=""></option> <option value="Father">Father</option> <option value="Mother">Mother</option> <option value="Spouse">Spouse</option> <option value="Child">Child</option> </select> </td> <td> <input name="rName"/></td> <td> <input name="rAge"/> </td> <td> <input name="rOccupation"/> </td> </tr> <tr> <td colspan="4" align="right"><button type="button" onclick="tryFunc(this.parentNode);">Add</button></td> </tr> </table> <s:submit value="Add Employee" name="submit"/> <s:reset value="Reset" name="reset"/></s:form>
JS:
function tryFunc(node){ var root = node.parentNode.parentNode; var allRows = root.getElementsByTagName('tr'); var cRow = allRows[1].cloneNode(true); root.appendChild(cRow);}然后在动作类中,只需定义如下变量:
private String rel[]; private String rName[]; private String rAge[]; private String rOccupation[];
定义它们的getter和setter,您可以像这样访问jsp中每一行的每个元素:
rel[0], rel[1], ........ rName[0],rName[1], ....... etc......
至于将select元素的Value复制到克隆行,其简单的javascript。只是这样做:
clonedSelect.selectedIndex = original.selectedIndex;
如果仍有问题,请发表评论。:)



