表单数据未在ColdFusion中发送

时间:2015-05-31 08:21:46

标签: forms coldfusion

我正在尝试研究ColdFusion(刚刚开始)并在进行一些测试时遇到困难。

基本上,我正在尝试将数据从form.cfm传递到storage.cfm。但是,数据似乎没有通过/发送。

这是form.cfm(请忽略标记,这仅用于测试,我绝对是CF的新手,所以你可能会看到一些可怕的东西:D)

<cfparam name="userId" default=0/>
<cfparam name="firstName" default=""/>
<cfparam name="lastName" default=""/>
<cfparam name="address" default=""/>

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Learning CF</title>
  <meta charset="UTF-8">
</head>
<body>
  <h2>Persons Table - <cfif userId EQ 0>Add<cfelse>Edit</cfif></h2>
  <form action="storage.cfm" method="POST">
    <input type="hidden" name="userId" value="#userId#">
    <cfdump var="#userId#"/>
    <br/><br/>
    <label>First Name:</label>
    <input type="text" name="firstName" value="<cfoutput>#firstName#</cfoutput>"><br/><br/>
    <label>Last Name:</label>
    <input type="text" name="lastName" value="<cfoutput>#lastName#</cfoutput>"><br/><br/>
    <label>Address:</label>
    <input type="text" name="address" value="<cfoutput>#address#</cfoutput>"><br/><br/>
    <input type="submit" value="Submit">
  </form>
</body>
</html>

这里的cfdump告诉我userId是0.这是storage.cfm

<cfparam name="form.userId" default=""/>
<cfdump var="#form.userId#"/>

当我点击提交时,storage.cfm中显示的内容仅为

#userId#

1 个答案:

答案 0 :(得分:10)

您需要将userid括在cfoutput之间,以便对其进行评估。或者更好的方法是将表单包装在cfoutput内。

<cfoutput>
  <form action="storage.cfm" method="POST">
    <input type="hidden" name="userId" value="#userId#">
    <label>First Name:</label>
    <input type="text" name="firstName" value="#firstName#">
    <label>Last Name:</label>
    <input type="text" name="lastName" value="#lastName#">
    <label>Address:</label>
    <input type="text" name="address" value="#address#">
    <input type="submit" value="Submit">
  </form>
</cfoutput>