将表单中的输入传递到 Coldfusion Query
Passing an input from form into Coldfusion Query
你好,我正在尝试传递一个变量,该变量的值将来自表单输入到查询以检索值并作为隐藏的 value.Very 传递回表单令人困惑,我希望我想多了这个。我收到 Passed_Lot_Number
is undefined 错误。
这是我目前的代码:
<CFOUTPUT>
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM ShippingAdvice
WHERE CustomerID = #Passed_CustomerID#
AND LotNumber = #Passed_Lot_Number#
</cfquery>
<td align="left" colspan="1">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25">
<form name="Show_SampleLogSheet" class="frm" action="/Buying/Shipping_Advice/Index.cfm" method="post">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
</form>
</td>
</CFOUTPUT>
请原谅,这段代码真的很旧,我的任务是为其添加更多功能。非常感谢任何帮助。
谢谢
编辑:
这是一些更新的代码:
<CFOUTPUT>
<td align="left" colspan="1">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25" style="background-color: ##838383;border:1px solid ##000000; color:white">
<form name="Show_SampleLogSheet" class="frm" action="/Buying/Shipping_Advice/Index.cfm" method="post" style="display: inline">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
<cfif structKeyExists(form, "Passed_Lot_Number ")>
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM tblShippingAdvice
WHERE CustomerID = #Passed_CustomerID#
AND LotNumber = #Passed_Lot_Number#
<cfreturn Passed_ShippingAdviceID />
</cfquery>
</cfif>
<input type="hidden" name="Passed_ShippingAdviceID" value="#Passed_ShippingAdviceID#">
</form>
</td>
</CFOUTPUT>
首先,您检查了这个条件structKeyExists(form, "Passed_Lot_Number ")
。也就是说,提交表单后,里面的条件代码会被执行。
但是,您给出的代码不必提交按钮。请添加提交按钮。
提交表单后,我们可以得到如下表单字段值,
form.Passed_CustomerID and form.Passed_Lot_Number
并且您必须将 <cfreturn Passed_ShippingAdviceID />
代码放在 <cfquery>
标记之后。
我添加了代码。希望,这会有所帮助。
<cfoutput>
<cfparam name="Passed_ShippingAdviceID" default="0">
<cfif structKeyExists(form, "submit")>
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM tblShippingAdvice
WHERE CustomerID = "#form.Passed_CustomerID#"
AND LotNumber = "#form.Passed_Lot_Number#"
</cfquery>
<cfset Passed_ShippingAdviceID = OutputDetails.ShippingAdviceID>
</cfif>
<form name="Show_SampleLogSheet" class="frm" action="/Buying/Shipping_Advice/Index.cfm" method="post" style="display: inline">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25" style="background-color: ##838383;border:1px solid ##000000; color:white">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
<input type="hidden" name="Passed_ShippingAdviceID" value="#Passed_ShippingAdviceID#">
<input type="submit" value="submit" name="submit">
</form>
</cfoutput>
谢谢,
所以我终于解决了这个问题。原来我想错了。在处理某事之前了解数据流的另一个完美示例。原来共有 3 个页面传递了数据。它来自 Client -> Interface Page -> Display Results
。提交给 Interface Page
的表单,我从那里添加了定义 Passed_ShippingAdviceID
变量的逻辑。这是更新后的表单代码:
<td align="left" colspan="1">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25" style="background-color: ##838383;border:1px solid ##000000; color:white">
<form name="Show_SampleLogSheet" class="frm" action="/Interface Page" method="post" style="display: inline">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
<input type="hidden" value="1" name="Passed_Activate">
<input type="hidden" value ="" name = "Passed_ShippingAdviceID">
</form>
</td>
这是定义Passed_ShippingAdviceID
的界面页面上的查询:
<cfif Passed_ShippingAdviceID IS "">
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM tblShippingAdvice
WHERE CustomerID = '#Passed_CustomerID#'
AND LotNumber = '#Passed_Lot_Number#'
</cfquery>
<cfset Passed_ShippingAdviceID = OutputDetails.ShippingAdviceID>
</cfif>
你好,我正在尝试传递一个变量,该变量的值将来自表单输入到查询以检索值并作为隐藏的 value.Very 传递回表单令人困惑,我希望我想多了这个。我收到 Passed_Lot_Number
is undefined 错误。
这是我目前的代码:
<CFOUTPUT>
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM ShippingAdvice
WHERE CustomerID = #Passed_CustomerID#
AND LotNumber = #Passed_Lot_Number#
</cfquery>
<td align="left" colspan="1">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25">
<form name="Show_SampleLogSheet" class="frm" action="/Buying/Shipping_Advice/Index.cfm" method="post">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
</form>
</td>
</CFOUTPUT>
请原谅,这段代码真的很旧,我的任务是为其添加更多功能。非常感谢任何帮助。
谢谢
编辑:
这是一些更新的代码:
<CFOUTPUT>
<td align="left" colspan="1">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25" style="background-color: ##838383;border:1px solid ##000000; color:white">
<form name="Show_SampleLogSheet" class="frm" action="/Buying/Shipping_Advice/Index.cfm" method="post" style="display: inline">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
<cfif structKeyExists(form, "Passed_Lot_Number ")>
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM tblShippingAdvice
WHERE CustomerID = #Passed_CustomerID#
AND LotNumber = #Passed_Lot_Number#
<cfreturn Passed_ShippingAdviceID />
</cfquery>
</cfif>
<input type="hidden" name="Passed_ShippingAdviceID" value="#Passed_ShippingAdviceID#">
</form>
</td>
</CFOUTPUT>
首先,您检查了这个条件structKeyExists(form, "Passed_Lot_Number ")
。也就是说,提交表单后,里面的条件代码会被执行。
但是,您给出的代码不必提交按钮。请添加提交按钮。
提交表单后,我们可以得到如下表单字段值,
form.Passed_CustomerID and form.Passed_Lot_Number
并且您必须将 <cfreturn Passed_ShippingAdviceID />
代码放在 <cfquery>
标记之后。
我添加了代码。希望,这会有所帮助。
<cfoutput>
<cfparam name="Passed_ShippingAdviceID" default="0">
<cfif structKeyExists(form, "submit")>
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM tblShippingAdvice
WHERE CustomerID = "#form.Passed_CustomerID#"
AND LotNumber = "#form.Passed_Lot_Number#"
</cfquery>
<cfset Passed_ShippingAdviceID = OutputDetails.ShippingAdviceID>
</cfif>
<form name="Show_SampleLogSheet" class="frm" action="/Buying/Shipping_Advice/Index.cfm" method="post" style="display: inline">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25" style="background-color: ##838383;border:1px solid ##000000; color:white">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
<input type="hidden" name="Passed_ShippingAdviceID" value="#Passed_ShippingAdviceID#">
<input type="submit" value="submit" name="submit">
</form>
</cfoutput>
谢谢,
所以我终于解决了这个问题。原来我想错了。在处理某事之前了解数据流的另一个完美示例。原来共有 3 个页面传递了数据。它来自 Client -> Interface Page -> Display Results
。提交给 Interface Page
的表单,我从那里添加了定义 Passed_ShippingAdviceID
变量的逻辑。这是更新后的表单代码:
<td align="left" colspan="1">
<input class="frm3" type="text" id="Outstanding_Passed_LotNumber" size="3" maxlength="6" tabindex="25" style="background-color: ##838383;border:1px solid ##000000; color:white">
<form name="Show_SampleLogSheet" class="frm" action="/Interface Page" method="post" style="display: inline">
<input type="hidden" name="Passed_CustomerID" value="#Passed_CustomerID#">
<input class="frm3" type="text" name="Passed_Lot_Number" size="3" maxlength="6" tabindex="25">
<input type="hidden" value="1" name="Passed_Activate">
<input type="hidden" value ="" name = "Passed_ShippingAdviceID">
</form>
</td>
这是定义Passed_ShippingAdviceID
的界面页面上的查询:
<cfif Passed_ShippingAdviceID IS "">
<cfquery name = "OutputDetails" datasource = "#Application.PrimaryDataSource#">
SELECT ShippingAdviceID
FROM tblShippingAdvice
WHERE CustomerID = '#Passed_CustomerID#'
AND LotNumber = '#Passed_Lot_Number#'
</cfquery>
<cfset Passed_ShippingAdviceID = OutputDetails.ShippingAdviceID>
</cfif>