ColdFusion,设置POST变量

时间:2010-11-12 02:35:38

标签: coldfusion

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

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

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

$_POST['somename'] = $_POST['name']

我如何在CF中做到这一点?

3 个答案:

答案 0 :(得分:6)

在PHP代码中使用成语后,您可以执行以下操作:

<cfset form['somename'] = form['name']>

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

form['somename'] = form['name'];

如果您担心变量的存在,可以在作业之前加<cfparam>

<cfparam name="form.name" default=""><!--- assuming blank ok as default --->
<cfset form['somename'] = form['name']>

...或在脚本中:

param name='form.name' default='';
form['somename'] = form['name'];   

当然,您也可以将条件包装在条件中:

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

这一切都引出了一个问题,即用这种方法你究竟想要达到的目标。

答案 1 :(得分:1)

ColdFusion语法类似。 “Post”变量在系统结构FORM中可用,而“Get”变量在系统结构URL中可用。与在PHP中一样,可以使用关联数组表示法访问值。您还可以使用点表示法(对于有效的字段名称)

    <cfset otherVariable = FORM["variableName"] >
    <cfset otherVariable = FORM.variableName >
  

我想接受这个值并设置它   作为POST变量,所以我可以发送它   到另一页。

我不太清楚你的意思。通常,您无需重新分配FORM或URL值。您只需在代码中引用该变量即可。

 <cfoutput>
    <a href="someOtherPage.cfm?name=#FORM.variableName#">Go To Other Page</a>
 </cfoutput>

答案 2 :(得分:0)

您可以通过检查是否设置了post变量然后以FORM的范围存储它来尝试此操作。

<cfif isdefined ("FORM.name")>
<cfset FORM.somename="#FORM.name#">
</cfif>