0
다음 양식이 있는데 다음 버튼을 클릭 할 때 숨겨진 양식 필드 "kpiValueType"의 값을 얻으려고합니다. 페이지 소스에서 jQuery를 사용하여 Firefox에서 숨겨진 양식 필드 값을 가져 오는 문제
<script type="text/javascript">
function getGivenFieldValue()
{
var searchFieldVal = jQuery('input:hidden[name="activities[0].kpiList[0].kpiValueType"]').val();
alert(searchFieldVal);
}
</script>
<h:form id="fundRequestForm" action="" method="post">
<ui:repeat value="#{fundRequestBean.requestActivityList}" var="activity" varStatus="stat">
<table width="100%" class="tablesorter">
<thead class="fixedHeader">
<tr>
<th width="418px">
<input type="checkbox" checked="checked" name="activities[#{stat.index}].check" />
#{activity.activityName}
</th>
<th> </th>
</tr>
</thead>
<tbody>
<ui:repeat value="#{activity.kpiList}" var="kpi" varStatus="status">
<tr>
<td>#{kpi.kpiName}<ui:fragment rendered="#{kpi.required=='true'}">
<label style="color: red">*</label>
</ui:fragment>
</td>
<td><div style="text-align: left; padding-top: 5px; padding-bottom: 5px; float: left;">
<input type="text" name="activities[#{stat.index}].kpiList[#{status.index}].kpiValueString"
value="#{kpi.kpiValueString}" size="60" maxlength="50" />
</td>
</tr>
<input type="hidden" name="activities[#{stat.index}].kpiList[#{status.index}].kpiValueType"
value="#{kpi.kpiValueType}" />
</ui:repeat>
</tbody>
</table>
</ui:repeat>
<table width="100%" border="0" bordercolor="#CCCCCC" rules="none" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" align="center">    </td>
</tr>
<tr>
<td>    </td>
<td>    </td>
<td align="right"><div id="nextButtonDiv" style="float: right;">
<h:commandButton
onclick="getGivenFieldValue()"
actionListener="#{fundRequestBean.saveFundRequest}" action="#{fundRequestBean.getPreviewFundRequestData}"
value="#{msg.nextLbl}">
</h:commandButton>
</div>       </td>
</tr>
<tr>
<td colspan="3" align="center">    </td>
</tr>
</table>
</h:form>
나는 경고 나 정의되지 않은 제공
<input type="hidden" name="activities[0].kpiList[0].kpiValueType" value="N" />
으로 숨겨진 필드 kpiValueType의 이름을 보았다. 여기서 뭐가 잘못 됐는지 말해 줄래? 여기
var searchFieldVal = jQuery('input:hidden[name="activities[0]\\.kpiList[0]\\.kpiValueType"]').val();
alert(searchFieldVal);
을 working example을이다 : 나는 당신은 선택의 .
문자를 이스케이프 할 필요가 jQuery를 1.7과 파이어 폭스 13.0.1
제임스 감사합니다. 하지만 이전에는 jQuery 1.4를 사용하고 있었고 동일한 코드가 정상적으로 작동했습니다. jQuery 1.7로 업그레이드 한 후 작동이 멈췄습니다. 새 버전에서 뭔가 변경 되었습니까? – Sri
@Sri - 잘 모르겠지만, jQuery 버전을 바이올린으로 변경하고 이스케이프 문자를 제거하더라도 여전히 작동하지 않습니다. 이전 버전을 사용하고 있어도 탈출하는 것이 좋습니다. –
제임스 inorder 내 xhtml을 만들려면 다음과 같이 입력 된 숨겨진 입력의 이름을 이스케이프해야합니다. 이 이름들은 자동 생성되기 때문에. – Sri