我想将flex表单的值提交给ColdFusion cfc。
如果我有一个flex表单(见下文),那么表单中的数据是一个对象吗?或者我是否必须根据表单中的id创建一个对象,然后将该新对象传递给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>
答案 0 :(得分:1)
没有绑定到表单中任何控件的数据(ComboBox的dataProvider除外)。如果要通过最少的修改从表单中提取数据,请为每个控件分配“id”属性,并从ActionScript以编程方式访问它们:
var obj : MyObject = new MyObject();
obj.beginDate = beginDate.selectedDate;
obj.endDate = endDate.selectedDate;
obj.organization = Organization(comboOrg.selectedItem);
// etc
答案 1 :(得分:1)
不,这不是所有表单变量的集合或对象(这太容易了)。
如果这就是你想要的,你可以创建一个像Big Red Dog描述的自定义对象(brd6644)。这是可选的;在发送之前不需要创建对象。您可以将每个字段作为参数传递,通过其ID引用它们。这实际上取决于您的偏好以及您的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 data models的更多信息......我仍然没有完全卖出它们的用处......但这是另一种选择。