Javascript 如何从AlloyUI form builder中提取结构?
我一直在玩AlloyUI form builder,但我找不到如何获取我所编辑的表单的数据。我查了文件,密码。。。我瞎了吗?:-) 谢谢!Javascript 如何从AlloyUI form builder中提取结构?,javascript,html,yui,alloy-ui,Javascript,Html,Yui,Alloy Ui,我一直在玩AlloyUI form builder,但我找不到如何获取我所编辑的表单的数据。我查了文件,密码。。。我瞎了吗?:-) 谢谢! Chris将生成的表单持久化以在以后表示是您必须自己做的事情,这样您就可以确定更适合您需要的结构。您要查找的属性存储在表单的字段中 一个粗略的想法可能是遍历字段数组并提取所需的信息。例如: var formXML = '<root>'; formBuilder.get('fields').each( function(item, ind
Chris将生成的表单持久化以在以后表示是您必须自己做的事情,这样您就可以确定更适合您需要的结构。您要查找的属性存储在表单的字段中 一个粗略的想法可能是遍历
字段
数组并提取所需的信息。例如:
var formXML = '<root>';
formBuilder.get('fields').each(
function(item, index, collection) {
var dataType = item.get('dataType'),
indexType = item.get('indexType'),
label = item.get('label'),
multiple = item.get('multiple'),
name = item.get('name'),
options = item.get('options'),
readOnly = item.get('readOnly'),
repeatable = item.get('repeatable'),
required = item.get('required'),
showLabel = item.get('showLabel'),
type = item.get('type'),
width = item.get('width');
var fieldXML = '<field>';
fieldXML += '<type>' + dataType + '</type>';
fieldXML += '<name>' + name + '</name>';
fieldXML += '<required>' + required + '</required>';
fieldXML += '</field>';
}
}
formXML += '</root>';
var formXML='';
formBuilder.get('fields')。每个(
功能(项目、索引、集合){
var dataType=item.get('dataType'),
indexType=item.get('indexType'),
label=item.get('label'),
multiple=item.get('multiple'),
name=item.get('name'),
options=item.get('options'),
readOnly=item.get('readOnly'),
repeatable=item.get('repeatable'),
required=item.get('required'),
showLabel=item.get('showLabel'),
type=item.get('type'),
宽度=item.get('width');
var fieldXML='';
fieldXML+=''+数据类型+'';
fieldXML+=''+名称+'';
fieldXML+=''+必需+'';
fieldXML+='';
}
}
formXML+='';
然后,您可以保存该xml,并在以后使用它复制从站点其他部分编辑的表单。定义表单
<div id="myFormBuilder"></div>
<aui:button id="saveFieldsForm" onClick="saveFieldsForm()" name="saveFieldsForm" value="saveFieldsForm" />
<aui:button id="saveFieldsForm" onClick="saveFieldsForm()" name="saveFieldsForm" value="saveFieldsForm" />
function saveFieldsForm(){
var formXML = '<root>';
myFormBuilder.get('fields').each(
function(item, index, collection) {
var dataType = item.get('dataType'),
indexType = item.get('indexType'),
label = item.get('label'),
multiple = item.get('multiple'),
name = item.get('name'),
options = item.get('options'),
readOnly = item.get('readOnly'),
repeatable = item.get('repeatable'),
required = item.get('required'),
showLabel = item.get('showLabel'),
type = item.get('type'),
tip = item.get('tip'),
predefinedValue= item.get('predefinedValue'),
width = item.get('width');
var fieldXML = '<field>';
fieldXML += '<type>' + type + '</type>';
fieldXML += '<name>' + name + '</name>';
fieldXML += '<required>' + required + '</required>';
fieldXML += '<tip>' + tip + '</required>';
fieldXML += '<predefinedValue>' + predefinedValue + '</predefinedValue>';
fieldXML += '</field>';
alert("fieldXML: "+ fieldXML);
formXML += fieldXML;
});
formXML += '</root>';
alert("formXML: "+ formXML);
AUI().use('aui-io-request',
function(A) {
A.io.request(
'<%=ajaxURL%>',{
data: {
formXML : formXML,
},
dataType: 'json',
on: {
success: function(data) {
alert("Your form has been saved!")
},
error: function(jqXHR, textStatus, errorThrown) {
alert("Error, the content has not been saved! Please try again...");
console.log(textStatus, errorThrown);
}
}
});
});
}
private String saveFormBuilder(ResourceRequest resourceRequest) {
String formXML = ParamUtil.getString(resourceRequest, "formXML");
_log.debug("*********************");
_log.debug("articleId: "+articleId);
_log.debug("formXML: "+formXML);
_log.debug("*********************");
...
...
...
}