1

我正在将 CFwheels 用于我正在创建并需要使用嵌套视图的站点。但是,当我在弹出视图上提交表单时,该组件似乎不起作用。

下面是我正在使用的一些测试代码(当我将弹出窗口中的视图用作单个页面时,一切正常)。

是否有特定的方法可以使此类事情发生,或者在 CFWheels 中是否不支持此类事情?

global.cfm - 父视图

  <a href="##createClient" role="button" class="btn btn-success" data-toggle="modal">Add New Client</a>            



 <div id="createClient" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <cfinclude template="createClient.cfm">
 </div>

createClient.cfm - 嵌套视图(弹出)

<form method="post" action="createClient">
<input type="hidden" name="isPost" value="1" />


        <table>
        <div class="modal-body">
            <tr>
                <td>Client Brand Name:</td>
                <td><input type="text" name="ClientBrandName" value="" required></td>
            </tr>

            <tr>
                <td>Survey Referral:</td>
                <td><input type="text" name="surveyReference" value="" required/></td>
            </tr>

嵌套视图控制器

<cffunction name="createClient">        
    <cfif isDefined('form.isPost')>
        <cfscript>
         application.someComponent.someFunction(
            CBname = params.clientbrandname,
            sRef= params.sreferralid,
            sRefname = params.surveyreference
         );
        </cfscript>
    </cfif>
</cffunction>
4

1 回答 1

0

我没有直接回答你的问题,但你并没有以一种非常“轮子”的方式来解决这个问题。

首先,所有 cfwheels form + url 参数都被推入 params 范围,所以一般来说,我们会先做 structkeyexists(params, "isPost") (或类似的)。(这并不是说表单范围是不可访问的)。

其次,您可能会发现 includePartial() 比 cfinclude 更有用,因为您可以传递命名参数。

Wheels 支持 Ajax/Modal 调用,但我敢打赌你不小心提交到了错误的 URL;你也需要剥离布局。

看看https://github.com/neokoenig/RoomBooking - 有几个引导模式窗口的例子可能会有所帮助。

于 2014-01-04T22:38:46.507 回答