Я хочу отправить значения гибкой формы в 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>




Нет данных, привязанных ни к одному из элементов управления в форме (кроме dataProvider для ComboBox). Если вы хотите извлечь данные из формы с минимальными изменениями, присвойте каждому элементу управления свойство id и программный доступ к ним из ActionScript:
var obj : MyObject = new MyObject();
obj.beginDate = beginDate.selectedDate;
obj.endDate = endDate.selectedDate;
obj.organization = Organization(comboOrg.selectedItem);
// etc
Нет, это не набор или объект для всех переменных формы (это было бы слишком просто).
Если это то, что вы хотите, вы можете создать собственный объект, подобный описанному Big Red Dog (brd6644). Хотя это необязательно; вам не нужно создавать объект, прежде чем отправить его обратно. Вы можете просто передать каждое поле в качестве аргумента, ссылаясь на них по их идентификатору. Это действительно зависит от предпочтений и от того, основаны ли ваши услуги CF на OO.
У вас также есть возможность создать модель данных и отправить ее обратно в 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 ... Я все еще не совсем уверен в их полезности ... но это другой вариант.