当Datepicker是多字段中的字段时,不显示日期

时间:2016-06-22 13:28:59

标签: aem

我在multifield中有数据选择器。 但是在打开对话框时,不会显示创作的值。 当我在对话框字段上检查元素时,它变为

     *<input class="coral-InputGroup-input coral-Textfield" type="text" value="">
    <input type="hidden" name="./date" value="2016-06-01T00:00:00.000+05:30">*

您能否提出可能存在的问题以及解决方法?

<field
        jcr:primaryType="nt:unstructured"
        sling:resourceType="granite/ui/components/foundation/form/fieldset"
        eaem-nested=""
        fieldLabel="Click on the + button to add Fields"
        name="./admission">
        <layout
            jcr:primaryType="nt:unstructured"
            sling:resouceType="granite/ui/components/foundation/layouts/fixedcolumns"
            method="absolute"/>
        <items jcr:primaryType="nt:unstructured">
            <column
                jcr:primaryType="nt:unstructured"
                sling:resourceType="granite/ui/components/foundation/container">
                <items jcr:primaryType="nt:unstructured">
                    <date
                        jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/form/datepicker"
                        fieldLabel="Date of Event"
                        name="./date"
                        type="date"/>
                    <startTime
                        jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/form/datepicker"
                        fieldLabel="Opening time of event"
                        name="./startTime"
                        type="time"/>
                    <endTime
                        jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/form/datepicker"
                        fieldLabel="Closing time of event"
                        name="./endTime"
                        type="time"/>
                    <dayname
                        jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/form/hidden"
                        fieldLabel="Dayname"
                        name="./dayname"/>
                </items>
            </column>
        </items>
    </field>

1 个答案:

答案 0 :(得分:0)

首先,您在sling:resouceType="granite/ui/components/foundation/layouts/fixedcolumns"中拼写错误。您实际上没有设置sling:resourceType

然而,还有一个更重要的问题。 Granite Multifield组件不能以这种方式工作。阅读granite/ui/components/foundation/form/multifield上的文档,我们可以确切地看到数据如何在后续对话框中保存和重新填充。

  

要包含的字段在名为field的子节点中定义。   无论使用何种组件,Multifield都假设他们都写入   相同的属性(由字段子节点的name属性定义)   因此,结果值将始终为多值。

     

渲染现有条目时,Multifield将迭代多值,获取每个值,在字段中设置它并让字段渲染它。

为了完成您要做的事情,您必须编写一些自定义代码。谷歌的快速搜索显示了这两篇可以帮助您的博客文章:

重申一下,如果您修正了拼写错误,则字段集和日期选择器将显示在您的多字段中。但是,即使对话框显示正确,您也无法以这种方式保存或检索数据。