Flex: Как получить доступ к данным в моей форме Flex и передать их в ColdFusion cfc? - PullRequest
1 голос
/ 19 декабря 2008

Я хочу отправить значения гибкой формы в Cfc ColdFusion.

Если у меня есть гибкая форма (см. Ниже), являются ли данные в форме объектом? Или мне нужно создать объект на основе идентификаторов в форме, а затем передать этот новый объект компоненту Coldfusion?

<mx:Form x="10" y="10" width="790" id="myFrom" defaultButton="{createReport}">
    <mx:FormItem label="Resume Report Type:">
    <mx:RadioButtonGroup id="showtype"/>
    <mx:HBox>
        <mx:RadioButton groupName="showtype" id="NotUpdated" value="notupdated" label="Not Updated" width="100"  />
        <mx:RadioButton groupName="showtype" id="Updated" value="updated" label="Updated" width="75"  />
        <mx:RadioButton groupName="showtype" id="All" value="all" label="All" width="75"  />
    </mx:HBox>
    </mx:FormItem>
    <mx:FormItem label="User Organzation:">
        <mx:ComboBox dataProvider="{qOrganization}" labelField="UserOrganization" />    </mx:FormItem>

    <mx:FormItem label="Between the following dates:">
        <mx:HBox>
            <mx:DateField/>
            <mx:DateField left="10"/>
        </mx:HBox>
    </mx:FormItem>
    <mx:FormItem>

        <mx:Button label="Create Report" id="createReport"/>
    </mx:FormItem>  
    </mx:Form>

Ответы [ 2 ]

1 голос
/ 20 декабря 2008

Нет, это не коллекция или объект для всех переменных формы (это было бы слишком просто).

Если это то, что вам нужно, вы можете создать пользовательский объект, такой как Big Red Dog, описанный (brd6644). Это необязательно, хотя; Вам не нужно создавать объект, прежде чем отправить его обратно. Вы можете просто передать каждое поле в качестве аргумента, ссылаясь на них по их идентификатору. Это действительно зависит от предпочтений и от того, основаны ли ваши CF-услуги на ОО.

У вас также есть возможность создать модель данных и отправить ее обратно в CF следующим образом:

<!-- DATA MODEL -->
<mx:Model id="formModel">
    <form>
        <beginDate>{beginDate.selectedDate}</beginDate>
        <endDate>{endDate.selectedDate}</endDate>
        <organization>
            <name></name>
            <address></address>
        </organization>
    </form>
</mx:Model>

<!-- REMOTE OBJECT/SERVER SIDE FORM HANDLER -->
<mx:RemoteObject
    id="roSubmitForm"
    source="com.mycfc"
    destination="ColdFusion"
    showBusyCursor="true">

    <mx:method name="submitForm" result="onSubmit(event)">
        <mx:arguments>
            <form>
                <beginDate>{formModel.beginDate}</beginDate>
                <endDate>{formModel.endDate}</endDate>
                <organization>
                    <name>formModel.organization.name</name>
                    <address>formModel.organization.address</address>
                </organization>
            </form>
        </mx:arguments>
    </mx:method>
</mx:RemoteObject>

Подробнее о моделях данных Flex ... Я до сих пор не совсем уверен в их полезности ... но это другой вариант.

1 голос
/ 19 декабря 2008

Нет данных, привязанных ни к одному из элементов управления в форме (за исключением dataProvider для ComboBox). Если вы хотите извлечь данные из формы с минимальными изменениями, присвойте свойство id каждому элементу управления и получите к ним программный доступ из ActionScript:

var obj : MyObject = new MyObject();
obj.beginDate = beginDate.selectedDate;
obj.endDate = endDate.selectedDate;
obj.organization = Organization(comboOrg.selectedItem);
// etc
...