如何解决重新设置 Coldfusion 网页中隐藏字段的值
在 Coldfusion CFM 页面 (my_files.cfm) 中,我有一个带有默认值的隐藏输入框:
<input type="hidden" id="downloadFlag" name="downloadFlag" value="#variables.downloadFlag#">
我还根据隐藏字段定义了一个CF变量:
variables.downloadFlag = form.downloadFlag;
<button id="DownloadBtn" class="btn btn-default edit" type="submit" onclick="setDownloadFlag()">Download</button>
思路是隐藏字段(downloadFlag)初始设置为0,当点击Download按钮时,运行JS函数“setDownloadFlag()”,设置隐藏字段的vlaue为1:
<script>
function setDownloadFlag() {
document.getElementById('downloadFlag').value = 1;
};
</script>
<cfscript>
if (variables.downloadFlag eq "1") {
variables.d_srx = CreateObject('component','my_files');
variables.d_success = variables.d_srx.download_files(variables.q_data);
}
</cfscript>
被调用的函数 - download_files() - 位于 CFC 页面 (my_files.cfc) 中。该函数定义为:
<cffunction name="download_files" access="remote" output="yes" returntype="numeric">
<cfargument name="downloadData" type="query" required="true">
...[download code here]...
<cfreturn 0>
</cffunction>
到目前为止,一切都很好。这实际上有效,并且在单击按钮时发生下载。问题是隐藏字段仍然设置为“1”。我需要将其重新设置为“0”。
我面临的问题是我不知道如何将隐藏字段 (downloadFlag) 的值重新设置回“0”。我认为它应该是这样的:
<cfscript>
if (variables.downloadFlag eq "1") {
variables.d_files = CreateObject('component','my_files');
variables.d_success = variables.d_files.download_files(variables.q_data);
document.getElementById('downloadFlag').value = "0"; //Something like this
}
</cfscript>
但这不起作用。任何想法将不胜感激!
解决方法
我决定使用动态元素,而不是使用静态隐藏元素,如下所示:
function download() {
$('#form').append('<input type="hidden" id="downloadFlag" name="downloadFlag">').submit();
};
这样,我所要做的就是检查元素是否存在。当我不需要它时,我将其删除,如下所示:
document.getElementById('downloadFlag').remove
这似乎工作正常。 感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。