【问题标题】:Flex: How do I access the data in my flex form and submit it to a ColdFusion cfc?Flex:如何访问我的 flex 表单中的数据并将其提交给 ColdFusion cfc?
【发布时间】:2012-11-30 06:46:44
【问题描述】:

我想将弹性表单的值提交给 ColdFusion cfc。

如果我有一个弹性表单(见下文),表单中的数据是一个对象吗?还是我必须根据表单中的 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>

【问题讨论】:

    标签: forms apache-flex coldfusion cfc


    【解决方案1】:

    没有数据绑定到表单中的任何控件(ComboBox 的 dataProvider 除外)。如果您想以最少的修改从表单中提取数据,请为每个控件分配一个“id”属性,然后通过 ActionScript 以编程方式访问它们:

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

    【讨论】:

      【解决方案2】:

      不,这不是所有表单变量的集合或对象(这太容易了)。

      如果这是您想要的,您可以创建一个自定义对象,如描述的 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...

      【讨论】:

        猜你喜欢
        • 2010-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-17
        • 1970-01-01
        • 2013-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多