Javascript 如何从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

我一直在玩AlloyUI form builder,但我找不到如何获取我所编辑的表单的数据。我查了文件,密码。。。我瞎了吗?:-)

谢谢!
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("*********************");
        ...
            ...
            ...


    }