Liferay 7.1:Autofields无法检索fieldIndexes

问题描述 投票:0回答:1

我开始使用liferay-auto-fields组合。

所以这是我的jsp与aui:script - >

   <aui:form action="<%=saveMotiveURL%>" name="fm" method="post" enctype="multipart/form-data" onSubmit="setZones()" >
            <aui:fieldset>
                <aui:field-wrapper>
                     <div id="emailAdress-fields">
                           <label class="control-label"><liferay-ui:message key="motiveConfigEdit.col5"></liferay-ui:message> </label>
                           <div class="lfr-form-row lfr-form-row-inline">
                               <div class="row-fields">
                                   <aui:input type="text" name="emailAdress1" fieldParam='emailAdress1' id='emailAdress1' label="" value=""/>
                                   <aui:input type="hidden" name="motiveEmailId1" fieldParam='motiveEmailId1' id='motiveEmailId1' value=""/>
                               </div>
                          </div>
                      </div>
                      <aui:button type="submit" name="saveButton" value="button.create" label=""/>
                </aui:field-wrapper>
            </aui:fieldset>
        </aui:form>
    <aui:script>

        AUI().use('liferay-auto-fields',function(A) {
            new Liferay.AutoFields(
                {
                    contentBox: '#emailAdress-fields',
                    fieldIndexes: '<portlet:namespace />rowIndexes'
                }
            ).render();
        });
</aui:script>

然后,我想在processaction函数中检索“rowIndexes”,所以我这样做:

String rowIndexes = actionRequest.getParameter("rowIndexes");

这总是让我空虚。我还注意到jsp'rowIndexes'中的隐藏字段在我通过单击“+”按钮获得自动文件时不会更改或具有值。

有人有解决方案吗?

谢谢

liferay liferay-7 liferay-7.1
1个回答
0
投票

您希望解决的代码存在一些问题,

  • aui已被弃用,您应尽可能避免使用

喜欢标签

 <liferay-frontend:edit-form> 
 <liferay-frontend:edit-form-body>
 <liferay-frontend:fieldset-group>      
 <liferay-frontend:fieldset>

以下结构应适用于最新版本的Liferay:

        <liferay-frontend:fieldset >
            <div id='emailAdress-fields'>
                <div class='lfr-form-row lfr-form-row-inline'>
                    <div class='row-fields'>

                    </div>
                </div>
            </div>
        </liferay-frontend:fieldset>

你的脚本似乎很好

<aui:script use='aui-base'>
    A.use('liferay-auto-fields',function(A) {
        new Liferay.AutoFields({
            contentBox: '#emailAdress-fields',
            fieldIndexes: '<portlet:namespace/>rowIndexes'
        }).render();
    })
</aui:script>
© www.soinside.com 2019 - 2024. All rights reserved.