我使用Liferay的AutoFields JavaScript模块动态创建AUI输入(文本)。行和AUI输入是动态创建的,似乎可以正常工作。
AUI输入是本地化的,必须具有属性localized="true"
,因此它可以接受法语和英语。
在第一个输入上设置标志的标志会自动设置在动态第二个标志上。
问题在于本地化无法更改的任何动态创建的输入(无法单击标记)。
以下是代码:
<div class="lfr-form-row lfr-form-row-inline field-wrapper clearfix col-md-12 col-sm-12 col-xs-12">
<div class="row-fields">
<aui:row>
<aui:column cssClass="field-wrapper clearfix col-md-6 col-sm-6 col-xs-6">
<aui:input fieldParam='filtreTitre0' id='filtreTitre0' name="filtreTitre0" label="value" type="text" localized="true" />
</aui:column>
<aui:column cssClass="field-wrapper clearfix col-md-6 col-sm-6 col-xs-6">
<aui:input fieldParam='filtreCode0' id='filtreCode0' name="filtreCode0" label="ma.alten.cpm.code" type="text" />
<p style="display:none;">code already exist</p>
</aui:column>
</aui:row>
</div>
</div>
以下是剧本:
<aui:script use="liferay-auto-fields">
new Liferay.AutoFields(
{
contentBox: '#fields-wraper',
fieldIndexes: '<portlet:namespace />rowIndexes',
on: {
'init':function(event) {
},
'clone': function(event) {
console.log(event);
AUI().use('aui-form-validator', function(A) {
var addedElementCode = A.one('#<portlet:namespace />filtreCode'+event.guid);
var addedElementTitle = A.one('#<portlet:namespace />filtreTitre'+event.guid);
addedElementTitle.set('value', "");
addedElementCode.get('parentNode').get('parentNode').one('p').setStyle('display','none');
});
},
'delete': function(event) {
}
}
}
).render();
</aui:script>
以下是一个说明问题的屏幕截图: