我正在使用Struts 2应用程序并使用<s:iterator>
在JSP中显示数据,并且在JSP中显示的每条记录都有一个超链接链接。
我想使用此链接并使用POST方法将一些数据提交到其他JSP页面。
以下是我在JSP中的代码片段:
<s:iterator value="#request.Forums">
<s:property value="user_name"/>
<s:form action="displayForum" >
<s:hidden name="id" ></s:hidden>
<s:hidden name="subject" ></s:hidden>
<a href="javascript:this.form.id"><s:property value="subject"/></a>
</s:form>
</s:iterator>
我已尝试使用带有JavaScript的表单ID document.forms["formid"].submit
,但我的迭代器不是一个id,因为它是动态变化的。
注意:我使用了<s:url>
<s:form>
,但是它将表单参数值附加到URL。但我的要求是将表单参数作为隐藏变量发送。
请帮帮我。
答案 0 :(得分:1)
为您生成<s:form>
的唯一ID
<s:iterator value="#request.Forums" status="stat">
<s:form id="formid%{#stat.index}" action="displayForum">
<a href="javascript:submitForm('formid<s:property value="#stat.index"/>')">submit</a>
</s:form>
</s:iterator>
并将此ID传递给您的javascript函数。
答案 1 :(得分:0)
在表单中加id
:
<s:form id="formid" action="displayForum">
...
</s:form>
在你形成的内部,通过javascript调用放置一个锚:
<s:form...>
...
<a href="javascript: submit_my_form();">Submit</a>
</s:form>
然后输入你的javascript代码:
function submit_my_form() {
document.forms["formid"].submit();
}
修改:有关详细信息,您可以在Google中搜索:使用javascript 提交表单。例如:http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml
答案 2 :(得分:0)
我还没有真正理解你的问题,如果你想提交一份表格,你应该使用submit
,无论使用javascript
还是s:submit
,但我建议你试一试像这样:
<s:iterator value="#request.Forums" var="forum" status="status">
<s:property value="#forum.user_name"/>
<s:form action="displayForum" method="POST">
<s:hidden name="id" value="#forum.id"></s:hidden>
<s:hidden name="subject" value="#forum.subject"></s:hidden>
<s:submit value="Submit"/>
</s:form>
</s:iterator>