如何在Coldfusion中从文本框中输入文本值

如何在Coldfusion中从文本框中输入文本值,coldfusion,Coldfusion,如何从文本框中获取文本并将其设置为变量? 谢谢 这是我将如何重新编写的。请注意,我删除了cfform和cfinput表单示例。它们是不需要的,而且很可能会在未来引发问题。您应该将函数需要的任何数据作为参数传入 <cffunction name="TEST" returntype="string" output="false"> <cfreturn "So your name is #name#?")> </cffunction> <cfif (

如何从文本框中获取文本并将其设置为变量?
谢谢

这是我将如何重新编写的。请注意,我删除了cfform和cfinput表单示例。它们是不需要的,而且很可能会在未来引发问题。您应该将函数需要的任何数据作为参数传入

<cffunction name="TEST" returntype="string" output="false">
    <cfreturn "So your name is #name#?")>
</cffunction>

<cfif (isDefined("form.test"))>
<cfoutput>#test()#</cfoutput><br>
</cfif>

<cfform>
<cfinput name="names" type="text">
<cfinput name="TEST" type="submit" value="Call test()">
</cfform>

我们只需要传递正确的表单字段名即可解决此问题。表单中的fieldname和返回变量名称不相同。还有一个支架。因此,如果我们更正代码,意味着问题将得到解决

<cffunction name="test" returntype="string" output="false">
    <cfargument name="name" type="string" required="true" />
    <cfreturn "So, your name is #arguments.name#?" />
</cffunction>

<cfif isDefined("form.name") >
    <cfoutput>#test( htmlEditFormat( form.name ) )#</cfoutput><br>
</cfif>

<form method="post">
    <input name="name" type="text">
    <input name="TEST" type="submit" value="Call test()">
</form>

这个固定的答案可能会帮助你

您的表单字段称为“名称”。因此,您只需要在您已有的IF语句中执行。您可能会将代码发布到,因为它有许多问题。当然,这可能是一个非常精简的示例,而不是实际的代码:很难说。您可能希望将name的值传递给函数。按你的方式做会破坏封装。函数应该很少接触到自身之外的数据。它需要的任何数据都应该作为参数传入。嗯,没有HTML编码吗我会避免使用htmleditformat。从CF11开始,不再推荐使用HtmlEditFormat,相反,James,我会坚持使用HtmlEditFormat或自定义编码,并在错误修复之前避免使用encodeForHtml。由于CF11尚未发布,使用HtmlEditFormat是合理的。@PeterBoughton您在2014年提到的encodeForHtml错误是什么?它们修好了吗?谢谢。
<cffunction name="TEST" returntype="string" output="false">
    <cfreturn "So your name is #names#?")>
</cffunction>

<cfif (isDefined("form.test"))>
<cfoutput>#test()#</cfoutput><br>
</cfif>

<cfform>
<cfinput name="names" type="text">
<cfinput name="TEST" type="submit" value="Call test()">
</cfform>