我编写了以下代码,将变量artpsMstId
传递给javascript函数,然后根据该变量更新存储的记录:
在JSP中:
<td>
<a href="javascript:fnUpdate('<s:property value="artpsMstId" />');">testupdate</a>
</td>
<script type="text/javascript">
function fnUpdate(id)
{
<s:url action='updateServiceDetails'></s:url>
document.forms[0].artpsMstId.value=id;
document.forms[0].submit();
}
</script>
在struts.xml中:
<action name="updateServiceDetails" class="com.stp.portal.view.SearchServicePortlet" method="updateServiceDetails">
<result name="success">/WEB-INF/view/ServiceSubmitPage.jsp</result>
</action>
我已在updateServiceDetails
中定义了函数SearchServicePortlet.java
。
但是流程没有进入SearchServicePortlet.java
。我真的很感激,如果有人能帮助我...谢谢
---- ----- EDITED
这基本上是我想做的事情
<s:form action="updateServiceDetails" method="POST" theme="simple" >
<tr>
<td>
FirstName
</td>
<td>
LastName
</td>
<td>
Edit
</td>
</tr>
<s:iterator value="resultList" >
<tr>
<td align="center">
<s:textfield name="firstName" />
</td>
<td align="center">
<s:textfield name="lastName" />
</td>
<td>
Edit
</td>
<td align="center">
<a href="javascript:fnUpdate('<s:property value="artpsMstId" />');">testupdate</a>
</td>
</tr>
</s:iterator>
</s:form>
上面的代码显示了一个列表,其中包含名字和姓氏以及每行的编辑选项。现在我想在javascript中调用函数fnUpdate()
我可以分别编辑和保存每一行。这是我基本上需要做的。
答案 0 :(得分:0)
而不是在整个表格上形成,只需要有单独的表格并点击表格中的链接,调用javascript函数提交该单独的表格,
尝试以下代码, 在jsp中,
<form name="updateServiceDetailForm">
<input type="hidden" name="artpsMstId"/>
</form>
<table>
<tr>
<td>
FirstName
</td>
<td>
LastName
</td>
<td>
Edit
</td>
</tr>
<s:iterator value="resultList" >
<tr>
<td align="center">
<s:textfield name="firstName" />
</td>
<td align="center">
<s:textfield name="lastName" />
</td>
<td>
Edit
</td>
<td align="center">
<a href="javascript:fnUpdate('%{artpsMstId}');">testupdate</a>
</td>
</tr>
</table>
在javascript中,
function fnUpdate(artpsMstId) {
document.forms.updateServiceDetailForm.action = "updateServiceDetails.action";
document.forms.updateServiceDetailForm.method = "post";
document.forms.updateServiceDetailForm.artpsMstId.value = artpsMstId;
document.forms.updateServiceDetailForm.submit();
}