首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用隐藏的CFInput传递值

使用隐藏的CFInput传递值
EN

Stack Overflow用户
提问于 2012-07-14 03:02:29
回答 2查看 4.3K关注 0票数 1

我正在尝试创建一个具有编辑功能的表,但我在尝试将旧值与更新值关联时遇到了问题。我的解决方案是包含一个隐藏的CFInput,它将旧的值与要更新的值一起传递,然后在cfc中运行查询。

代码语言:javascript
复制
<cfform name="update" method="post">
<cfoutput query="allusers">
    <tr>
        <td>#username#</td>
        <td>#email#</td>
        <td>#securityID#</td>
        <td><a href="">DELETE</a></td>
    </tr>
        <td><cfinput name="oldUsername" value="#username#" type="hidden"></cfinput><cfinput name="updateUsername" value="New Value"></cfinput></td>
        <td><cfinput name="oldEmail" value="#email#" type="hidden"></cfinput><cfinput name="updateEmail" value="New Value"></cfinput></td>
        <td><cfinput name="oldSecurityID" value="#securityID#" type="hidden"></cfinput><cfinput name="updateSecurityID" value="New Value"></cfinput></td>
        <td><cfinput name="submit" type="submit"></cfinput>
    <tr>
        <cfdump var="oldUsername">
</cfoutput>

目前我没有得到任何错误,但它似乎没有传入旧值。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-14 03:16:45

确保您的CFDUMP使用散列标记:

代码语言:javascript
复制
<cfdump var="#oldUserName#"> 

否则,它不会转储变量的内容。

其次,当ColdFusion还没有机会为您设置oldusername时,您是在请求它评估"oldusername“。使用CFINPUT标签,只需通过JavaScript和/或Flash增强功能将其重写为常规标签即可。因此,只有在对下一个CF模板/url执行post之后,form.oldusername才可用。我还强烈建议您将(form。,variables。等等...)您的变量,这样就不会出现交叉(除非您仔细了解变量范围的搜索顺序)

票数 3
EN

Stack Overflow用户

发布于 2012-07-14 03:34:46

其他人已经提供了你的答案。我的回答只是关于你的表单的建议。

隐藏的cfinput不应该在表中。表格用于显示的项目。最好是将隐藏的cfinput移到cfform标记下面,如下所示:

代码语言:javascript
复制
<cfform name="update" method="post">
// NON DISPLAY STUFF
<cfinput name="oldUsername" value="#username#" type="hidden">
<cfinput name="oldEmail" value="#email#" type="hidden">
<cfinput name="oldSecurityID" value="#securityID#" type="hidden">
// DISPLAY STUFF
<table>
</table>
</cfform>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11476753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档