ColdFusion 中未发送表单数据

Form Data Not Being Sent In ColdFusion

我正在尝试研究 ColdFusion(刚开始),但在做一些测试时卡住了。

基本上,我试图将数据从 form.cfm 传递到 storage.cfm。但是,数据好像没有得到passed/sent.

这是 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#

您需要将 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>