我的JSP中有以下代码
function doContractAction(actionUrl) {
var strActionUrl = actionUrl;
if(strActionUrl !=null) {
document.forms[0].action = actionUrl;
document.forms[0].submit();
}
return false;
}
<div id="content">
<div id="report">
<s:form name="openControl" id="myActionForm" theme="simple" action="ShowAlertReports" method="post">
<div id="accordion">
<s:iterator id="alertCat" value="alerts" status="status" >
<h2 style="font-size:1.1em; padding-top:0px;padding-left:1px;padding-bottom:-5px; font-weight:bold;">
<p align="left"><s:property value="%{key}"/></p>
</h2>
<br>
<div>
<table id="${status.index}" class="grid one-em-below constant-left-width" cellspacing="0" d="ad-hoc-reports">
<thead class="nosort">
<tr>
<th scope="col" class="sortAsc" onclick="applySort(this);"><a style="cursor:pointer; color: #0066FF; font-weight:bold;">Alert Name </a></th>
<th scope="col" onclick="applySort(this);"><a style="cursor:pointer; color: #0066FF; font-weight:bold;">Customer Name</a></th>
<th scope="col" onclick="applySort(this);"><a style="cursor:pointer; color: #0066FF; font-weight:bold;">Date Opened</a></th>
<th scope="col">Action</th>
</tr>
</thead >
<tbody style="font-size:12px;">
<s:iterator id="alertsubcat" value="%{value}">
<tr>
<td>
<s:property value="name"/>
</td>
<td>
<s:property value="customerName"/>
</td>
<td style="font-size:11px;">
<s:if test="%{display=='OK'}">
<input type="button" value='<s:property value="%{display}" />'
onclick='return closeInfoAlert("<s:property value="%{alertsNotificationId}" />");' />
</s:if>
<s:else>
<input type="button" value='<s:property value="%{display}" />'
onclick='return doContractAction("<s:property value="%{url}" />");' />
</s:else>
</td>
</tr>
</s:iterator>
</tbody>
</table>
<br>
</div>
</s:iterator>
</div>
<s:hidden name="description" id="description" value=""/>
</s:form>
<br>
</div>
</div>
现在<p align="left"><s:property value="%{key}"/></p>
可以有值
我的要求来自代码
<s:else>
<input type="button" value='<s:property value="%{display}" />'
onclick='return doContractAction("<s:property value="%{url}" />");' />
</s:else>
我需要传递值=&#34;%{key} ,这将在函数 doContractAction 中进行检查 我可以检查密钥中的值,如果它等于 Alert1或Alert 2 。 我打开一个弹出窗口
我如何实现这一目标?
答案 0 :(得分:1)
你可以使用struts2计数器为循环中的每个元素提供唯一的id,我已经给出了struts2中引用计数器的链接 here
现在为Button
和<p>
提供唯一ID,现在您将获得如下所示的元素
<p id="p-0" align="left"> <input id="input-0" type="button">
<p id="p-1" align="left"> <input id="input-1" type="button">
...
<p id="p-n" align="left"> <input id="input-n" type="button">
现在您可以使用您可以参考的this.id
传递按钮的ID
here
现在您可以拆分input-id
和counstruct p-id
。获得p-id
后。现在,您可以通过使用获得p
的值
getElementById()