在Coldfusion中提交表单会发生什么?

时间:2012-04-28 11:25:22

标签: javascript html forms coldfusion process

我正在努力了解使用Coldfusion8的事情的服务器端,并且到目前为止只做客户端的事情。

假设我有一个基本的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>

问题:
提交表单时,服务器端实际发生了什么?是否重新加载页面&#34;并且 cfif 导致coldfusion运行并显示结果?只是寻找一些基本信息,以便我了解发生了什么。

感谢提示!

2 个答案:

答案 0 :(得分:5)

  1. 将CF和大多数Web服务器/系统视为接受输入(url / get,form / post,cookie等)并返回输出(html,json,text等)。这个循环通常会重复。有人在浏览器中输入Web地址,请求转到服务器,返回表单的页面。用户点击提交,请求进入服务器,返回结果页面。用户点击链接,请求转到服务器......等等。

  2. 由于if语句的组织方式,您需要将表单操作提交回自身。如果在form.cfm文件中,则action应为form.cfm。除非您在Web服务器中设置特定映射以使CF处理html文件,否则该文件将需要为.cfm

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

  4. 使用form method =“post”更常见/更安全,然后检查structkeyexists(form, "fieldname")

答案 1 :(得分: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部分可以运行....