Im编辑我的第一个ColdFusion脚本....我有一个表格,它有<input type="hidden" name="name" value="1">
。ColdFusion,设置POST变量
在处理页面上,我想获取该值并将其设置为POST变量,以便我可以将其发送到另一个页面。
我知道如何做到这一点在PHP中,像这样
$_POST['somename'] = $_POST['name']
我会怎么做,在CF?
Im编辑我的第一个ColdFusion脚本....我有一个表格,它有<input type="hidden" name="name" value="1">
。ColdFusion,设置POST变量
在处理页面上,我想获取该值并将其设置为POST变量,以便我可以将其发送到另一个页面。
我知道如何做到这一点在PHP中,像这样
$_POST['somename'] = $_POST['name']
我会怎么做,在CF?
您可以通过检查post变量是否已设置,然后将其与FORM范围一起存储来尝试此操作。
<cfif isdefined ("FORM.name")>
<cfset FORM.somename="#FORM.name#">
</cfif>
ColdFusion语法与此类似。系统结构FORM中包含“Post”变量,系统结构URL中包含“Get”变量。像在PHP中一样,可以使用关联数组表示法来访问值。您还可以使用点符号(有效的字段名)
<cfset otherVariable = FORM["variableName"] >
<cfset otherVariable = FORM.variableName >
我想利用这个值,并将其设置为 变量后,所以我可以 发送到另一页。
我不太清楚你的意思。通常,您不需要重新分配FORM或URL值。您只需在您的代码中引用该变量。
<cfoutput>
<a href="someOtherPage.cfm?name=#FORM.variableName#">Go To Other Page</a>
</cfoutput>
继在你的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
}
这一切都回避了你想要达到什么问题用这种方法。
您既不需要英镑符号也不需要引号:''。 –
2010-11-12 03:45:39