【发布时间】:2012-07-31 01:06:49
【问题描述】:
我需要循环传递来自 jsp 文件属性的值。这是代码
</tr>
<%
for (int i = 0; i < value.size(); i++) {
<html:form action="save" method="post" styleId="update" enctype="multipart/form-data">
<input type=hidden id="secfeaturetype" name="secfeaturetype" value="" />
<html:file property="testfile" styleId="testfile"/>
<input type="button" value="Update" onclick='javascript:check_updatefields()' />
</html:form>
</td>
</tr>
我正在尝试在 javascript 中进行一些验证,它只正确读取第一个文件而不是其余文件。有什么想法吗?
function check_updatefields() {
var file = jQuery('#testfile').val();
alert(testfile);
}
我在这里遗漏了什么吗?谢谢。
【问题讨论】:
-
id属性应该是唯一的,因此在循环中创建具有相同id的元素会给您无效的 html,$("#testfile")将只选择具有该 id 的第一个元素(除了在某些可能只选择最后一个的浏览器中)。关于您发布的代码,开头的<tr>和<td>标签在哪里?关闭%>在哪里?for循环的结尾在哪里? -
感谢您的建议。所以,我是否应该每次在循环中生成唯一的 id。for 循环是 java 代码(在 内),其余的是 html 标签(
)这是正确的代码 -
所以表中的每一行都有自己的表单,当按下更新按钮时,它应该只验证它所属的表单,但是每个表单的验证都是一样的? Java 生成的所有 html 是否仅在初始页面加载时生成,或者您是否使用 Ajax 动态更新页面的一部分?最后(在我发布答案之前),
<html:file...>标签生成的 html 在浏览器中是什么样子的? -
Html 由 java 在初始页面加载时生成。
标签在浏览器上显示一个“选择文件”按钮,单击该按钮,打开文件浏览器以上传文件。谢谢
标签: java javascript jsp struts-validation struts-html