从FORM调用CFC

时间:2012-03-08 21:25:03

标签: coldfusion cfc

就像标题所说,我正在从一个FORM调用一个CFC。这就是我现在的做法,但必须有更好的方法。

形式:

<cfform action="choice.cfm" method="post">
    <cfinput type="hidden" name="method" value="DeleteMessage">
    <cfinput type="hidden" name="announcement" value="#announcement#">
    <cfinput type="hidden" name="ID" value="#ID#">
    <cfinput type="submit" value="Delete" name="form.OKbutton1" onclick="return confirm('Are you sure you want to delete?');">
</cfform>

操作页面:

<cfif IsDefined("form.OKbutton1")> 
    <cfinvoke component="pdprojects.scr.changedisablesysequipment" 
         method="DeleteMessage" 
         returnvariable="DeleteMessages" 
         argumentCollection="#Form#" />
</cfif>

1 个答案:

答案 0 :(得分:0)

我找到了一种通过jquery和cfc简化这一过程的方法。页面更新速度快,如果此人按下按钮或刷新页面,则无需担心。你可以用JQuery做更多的事情来附加一个div标签而不是location.reload(); (通话结束时)页面刷新。

CF电话

<cfajaxproxy cfc="pdprojects.scr.changedisablesysequipment" jsclassname="choice_cls">

这是jquery

<script src="/js/jquery-1.7.1.min.js">


<script>
$(document).ready(function(){
    $("#OKbutton").click(function(){
        if ($('#Announcement').val() == "") {
            alert("Please enter message in the text area!");
        }
        else {
            var instance = new choice_cls();
            instance.setForm("enterit");
            instance.InsertMessage();
            location.reload();
        }
    });
     $("#OKbutton1").click(function(){
            var instance = new choice_cls();
            instance.setForm("deleteit");
            instance.DeleteMessage();
            location.reload();
    });
});

这是我的HTML

<cfform action="" id="enterit" name="enterit" method="post"> 
<cfinput type="hidden" value="#session.username#" name="thisname">  
<cftextarea cols="50" rows="8" name="Announcement"></cftextarea><br>
<cfinput type="button" value="Enter Announcement" name="OKbutton" id="OKbutton">
</cfform>

<cfform action="" id="deleteit" name="deleteit"  method="post">
<cfinput type="hidden" name="method" value="DeleteMessage">
    <cfinput type="hidden" name="announcement" value="#announcement#">
    <cfinput type="hidden" name="ID" value="#ID#">
    <cfinput type="button" value="Delete" name="OKbutton1" onclick="return confirm('Are you sure you want to delete?');">
 </cfform>

然后只需为coldfusion创建你的CFC!