我使用 ColdFusion 已经快 14 年了。 CF 之所以如此出色的产品,是因为它使新用户能够在没有太多了解的情况下快速完成大量工作,并且它使火箭科学家也能够快速构建真正强大且安全的应用程序。
CFFFORM、CFINPUT、CFLAYOUT、CFPOD 是为新用户创建的标签。基本上,它们是训练轮。如果您是 Web 开发的新手,您应该试试这个标签。随着经验的积累,您会希望放弃这些标签并转向其他技术来创建更强大的应用程序。
这些标签没有问题,就像训练轮没有问题一样。您只需要知道每项工作都有合适的工具。实际上,每项工作都有很多合适的工具。
目前,我正在开发一个用于构建外部网站的 ColdFusion 9 / jQuery / SQL Server 内部网。我在不使用单个表单标签的情况下这样做。而且,我完全是在 CFSCRIPT 中完成的。哇!
使用 jQuery,您不需要表单。你只需要输入。以下是我在 CFSCRIPT 中创建输入的方法。
<cfscript>
Options = "";
for (i = 1; i lte 10; i++) {
Options = Options & wrapOption("Some choice #i# ", i);
}
SelectBox = wrapSelect(Options, "MySelectID");
writeOutput(SelectBox);
SecretDiv = wrapDiv("", "", "MyDivID");
writeOutput(SecretDiv);
</cfscript>
用于创建 HTML 的用户定义函数在我的 UDF_Library.cfm 文件中:
// WRAP SELECT
function wrapSelect(SelectContent, Class, ID) {
LOCAL.SelectContent = ARGUMENTS.SelectContent;
LOCAL.Properties = "";
// CLASS
if (isDefined("ARGUMENTS.Class")) {
LOCAL.Properties = LOCAL.Properties & " class='#ARGUMENTS.Class#'";
}
// ID
if (isDefined("ARGUMENTS.ID")) {
LOCAL.Properties = LOCAL.Properties & " id='#ARGUMENTS.ID#'";
}
LOCAL.Item = "<select #LOCAL.Properties#>#LOCAL.SelectContent#</select>";
return LOCAL.Item;
}
// WRAP OPTION
function wrapOption(Content, Value, Selected) {
LOCAL.Content = ARGUMENTS.Content;
LOCAL.Properties = " value='#ARGUMENTS.Value#'";
// SELECTED
if (isDefined("ARGUMENTS.Selected") and (ARGUMENTS.Selected eq "selected")) {
LOCAL.Properties = LOCAL.Properties & " selected";
}
LOCAL.Item = "<option #LOCAL.Properties#>#LOCAL.Content#</option>";
return LOCAL.Item;
}
// CREATE DIV
function wrapDiv(Content, Class, ID) {
LOCAL.Properties = "";
// CLASS
if (isDefined("ARGUMENTS.Class")) {
LOCAL.Properties = LOCAL.Properties & " class='#ARGUMENTS.Class#'";
}
// ID
if (isDefined("ARGUMENTS.ID")) {
LOCAL.Properties = LOCAL.Properties & " id='#ARGUMENTS.ID#'";
}
LOCAL.Item = "<div #LOCAL.Properties#>#ARGUMENTS.Content#</div>";
return LOCAL.Item;
}
我使用 jQuery 并通过其类或 ID 引用每个元素。如果这样做,您可以将每个元素中的数据提交给 ajax 调用,如下所示:
<script type="text/javascript">
$(document).ready(function() {
$("#MySelectID").change(function() {
MyID = $("#MySelectID").val();
$("#MySecretDiv").load("CoolQuery.cfm?UserID"+MyID);
});
});
</script>
关键是,只要你使用 CFFORM 和 CFINPUT,你就不能做所有真正强大的 jQuery 东西。但是,您需要这些标签才能开始使用。
2012 年将是 ColdFusion 和 jQuery 强大的一年!!!
祝你好运!