javascript - Coldfusion 中提交的表单会发生什么?

标签 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>

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

感谢您的提示!

最佳答案

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

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

  3. 您提到将操作属性全部保留在一起会将表单提交回同一页面,但我不相信这在每个浏览器中都有效。

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

关于javascript - Coldfusion 中提交的表单会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10363049/

相关文章:

javascript - Ajax在表中显示数据库中的数据,但数据保存为以逗号分隔的字符串?

javascript - Python - 从数组中提取元素,类似于 JavaScript ES6 解构

html - 如何使用 CSS 覆盖 HTML "rules"属性?

html - 使用纯 HTML 切换到移动 View

jquery - 使用 jquery 进行表单验证 - 返回 false

javascript - 我想将总计添加到表中

javascript - 为什么在比较 2 个 "exact"JavaScript 对象值时,Object.is() 返回 false?

html - Gmail 显示图像之间的间隙

javascript - Javascript创建文件上传字段什么时候会失败?

javascript - 表单更改输入 "text"的样式,以在用户单击该框并将其留空时提醒用户