ColdFusion,设置POST变量

Chr*_*ris 1 coldfusion

我正在编辑我的第一个ColdFusion脚本....我有一个表单<input type="hidden" name="name" value="1">.

在处理页面上,我想获取该值并将其设置为POST变量,以便我可以将其发送到另一个页面.

我知道如何在PHP中完成它,就像这样

$_POST['somename'] = $_POST['name']
Run Code Online (Sandbox Code Playgroud)

我怎么会在CF中这样做?

Ken*_*ler 6

按照你的PHP代码中的习惯用法,你可以这样做:

<cfset form['somename'] = form['name']>
Run Code Online (Sandbox Code Playgroud)

...或者,如果在cfscript中:

form['somename'] = form['name'];
Run Code Online (Sandbox Code Playgroud)

如果您担心变量的存在,可以在赋值之前使用<cfparam>:

<cfparam name="form.name" default=""><!--- assuming blank ok as default --->
<cfset form['somename'] = form['name']>
Run Code Online (Sandbox Code Playgroud)

...或脚本:

param name='form.name' default='';
form['somename'] = form['name'];   
Run Code Online (Sandbox Code Playgroud)

当然,您也可以在有条件的情况下包装作业:

if( structkeyexists(form,'name') ){
  form.somename = form.name; // dot notation alternative to bracket syntax
}
Run Code Online (Sandbox Code Playgroud)

这一切都引出了一个问题,即用这种方法你究竟想要实现什么目标.