Coldfusion 从表单调用CFC
正如标题所说,我正在从表单中调用CFC。我现在就是这样做的,但必须有更好的方法 表格:Coldfusion 从表单调用CFC,coldfusion,cfc,Coldfusion,Cfc,正如标题所说,我正在从表单中调用CFC。我现在就是这样做的,但必须有更好的方法 表格: <cfform action="choice.cfm" method="post"> <cfinput type="hidden" name="method" value="DeleteMessage"> <cfinput type="hidden" name="announcement" value="#announcement#"> <cf
<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>
行动页面:
<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>
我找到了一种使用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();
});
});
$(文档).ready(函数(){
$(“#确定按钮”)。单击(函数(){
如果($(“#公告”).val()=“”){
警报(“请在文本区域输入消息!”);
}
否则{
var instance=newchoice_cls();
实例.setForm(“enterit”);
instance.InsertMessage();
location.reload();
}
});
$(“#确定按钮1”)。单击(函数(){
var instance=newchoice_cls();
setForm(“deleteit”);
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 请清楚地说明你遇到的问题。杰克说了什么。:)我真的不认为你所做的有什么问题。没有回答你的问题,但我会使用StructKeyExists(表单,'OKbutton1'),而不是isDefined(“表单.OKbutton1”)。它有助于促进范围变量使用jquery做这件事怎么样?也许如果你限定了你所说的“但必须有更好的方法”可能会有所帮助。您认为当前方法的错误之处是什么。如果你改进你的问题,我将取消我的否决票。