fre*_*ent 2 html javascript 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>
Run Code Online (Sandbox Code Playgroud)
问题:提交表单
时服务器端实际发生了什么?页面是否被"重新加载"并且cfif导致coldfusion运行并显示结果?只是寻找一些基本信息,以便我了解正在发生的事情.
谢谢你的提示!
将CF和大多数Web服务器/系统视为接受输入(url/get,form/post,cookie等)并返回输出(html,json,text等).这个循环通常会重复.有人在浏览器中输入Web地址,请求转到服务器,返回表单的页面.用户点击提交,请求进入服务器,返回结果页面.用户点击链接,请求转到服务器......等等.
由于if语句的组织方式,您需要将表单操作提交回自身.如果在form.cfm文件中,则action应为form.cfm.除非您在Web服务器中设置特定映射以使CF处理html文件,否则该文件将需要为.cfm
你提到将动作属性全部放在一起将表单提交回同一页面,但我不相信这适用于每个浏览器.
使用form method ="post"也更常见/更安全,然后检查 structkeyexists(form, "fieldname")