在提交之前设置s:隐藏的值

时间:2014-02-11 10:38:36

标签: javascript struts2

我有一个导出表单,我可以从2个立方体导出数据。在表单提交之前,我想在隐藏字段中设置要导出的多维数据集的名称,但它在操作中始终保持为空。在javascript函数中,我添加了一个警告,用于显示隐藏文件的值,这很好。但是在行动中它是空值。

JSP文件:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>

<link rel="stylesheet"
    href="<s:url value="/css/jquery.multiselect.css"/>" type="text/css" />
<link rel="stylesheet"
    href="<s:url value="/css/jquery.multiselect.filter.css"/>"
    type="text/css" />
<link rel="stylesheet"
    href="<s:url value="/css/themes/base/jquery.ui.theme.css"/>"
    type="text/css" />
<script type="text/javascript"
    src="<s:url value="/js/jquery-1.9.1.min.js" />"></script>
<script type="text/javascript"
    src="<s:url value="/js/jquery-ui.min.js" />"></script>
<script type="text/javascript"
    src="<s:url value="/js/jquery.multiselect.min.js" />"></script>
<script type="text/javascript"
    src="<s:url value="/js/jquery.multiselect.filter.js" />"></script>


<script language="javascript">
    function selectionCube(cubeSelected) {
        document.getElementById('cubeType').value = cubeSelected;
        document.getElementById('exportFormStep1').submit();
    }
</script>

<s:form id="exportFormStep1"
    action="exportPdfValidationPerimeterReport.do" name="exportStep1Form"
    theme="simple">

    <s:hidden id="cubeType" name="%{cubeSelected}"></s:hidden>


    <div class="contentTable">

        <div class="bloc_action">
            <input class="btn_action_right" type="button"
                onclick="selectionCube('CUBE_1');"
                value="Cube 1" />

            <input class="btn_action_right" type="button"
                onclick="selectionCube('CUBE_2');"
                value="Cube 2" />
        </div>

    </div>

</s:form>

1 个答案:

答案 0 :(得分:1)

为什么在设置隐藏字段的名称时使用OGNL表达式?现在,此隐藏字段的名称是cubeSelected字段的值。 其名称应设置为明确:

<s:hidden id="cubeType" name="cubeSelected"/>