2012-04-28 63 views
2

我很努力地使用Coldfusion8来理解事物的服务器端,并且至今只做客户端的东西。表单在Coldfusion中提交时发生了什么?

说我有一个基本的ColdFusion页的布局是这样的:

<script type="text/javascript"> 
    function foo() { docoument.myForm.submit(); } 
</script> 

<cfif isdefined("sendMyForm")> 
    ... running coldfusion... 
    ... displaying something... 
</cfelse> 
    <form action="nextPage.html" method="post" name="myForm"> 
     <input type="text" name="formContains" /> 
     <input type="hidden" name="sendMyForm" value="yup" /> 
     <input type="button" name="sender" value="send" OnClick="foo() /> 
    </form> 
</cfif> 

问:
当我提交表单实际发生的服务器端?该页面是否“重新加载”,并且导致coldfusion运行并显示结果?只是寻找一些基本的信息,所以我明白发生了什么。

感谢提示!

+0

你一直问CF.很多问题你在做什么样的项目?比如......使网站更具活力,构建一个Web应用程序,维护一个现有的系统等等? – 2012-04-28 13:03:43

+2

我在问,因为许多这样的例子可以让他们更喜欢一个稍微动态的网站。对于具有多个接口的Web应用程序,您可能不希望以这种方式组织代码。更好的选择是使用中央控制器模型,如[FW/1](https://github.com/seancorfield/fw1/wiki),或者甚至可以使用[switch/case controller](http:// stackoverflow) COM /问题/ 4927270/ColdFusion的,什么最优势 - 的 - 前端控制器设计,在页面控制器)。 – 2012-04-28 13:04:03

+1

其次FW/1建议 - 学习FW/1与CF一起应该有助于简化事物并使其更容易消化。此外,还有一些小例子FW/1应用程序可以帮助您理解事情的工作原理。 – 2012-04-28 13:14:56

回答

5
  1. 想到CF和大多数Web服务器/系统接受输入(url/get,表单/帖子,cookie等)并返回输出(html,json,文本等)。这个周期通常会重复。有人在浏览器中键入网址,请求转到服务器,页面以表格形式返回。用户点击提交,请求转到服务器,页面返回结果。用户点击链接,请求转到服务器...等等。

  2. 由于if语句的组织方式,您需要将表单操作提交回自己。如果在form.cfm文件中,那么action应该是form.cfm。除非您在网络服务器中设置具体的映射以使CF处理HTML文件,那么该文件将需要.cfm

  3. 您提到将action属性全部一起提交一起将表单提交回同一页面,但我不相信这适用于每个浏览器。

  4. 这也是比较常见的/安全有形式方法=“后”,然后检查structkeyexists(form, "fieldname")

0

好的。不是最新的链接,而是有价值的信息。

http://www.tek-tips.com/viewthread.cfm?qid=523839l http://cookbooks.adobe.com/post_Email_contact_form_in_ColdFusion-16882.html

我试图了解形式ColdFusion的提交工作。如果页面结构是:

<cf "inputName" = "someValue"> 
    ... run the from logic 
</cfif> 

<cfoutput> 
    <form> 
    <input name="inputName" /> 
    ... more form 
</form> 
</cfoutput> 

所以,当我提交表单如果不采取行动,它被提交给它在,因此第一CF-部分可以运行页面....

相关问题