jquery - datediff 不工作 Coldfusion

标签 jquery coldfusion

试图找出我的代码有什么问题。我正在调用一个 cfm 页面,该页面每 10 秒检查一次,如果 diffYES,它实际上应该启用这些字段,即使我是否刷新整个内容。 .

这是我的 jquery 代码

setInterval(function() {
        $("#myDiv").load('lockout.cfm');
}, 10000);

这是我的 CFM 代码

<cfsavecontent variable="head">
<cfset diff = structKeyExists(session,'lockzoneTime') AND session.lockzoneTime NEQ '' AND DateDiff("n","#session.lockzoneTime#","#TimeFormat(TimeFormat(now(),'HH:mm'))#") GTE 5>
<cfif diff IS 'Yes'>
<cfset session.countTries = IIF((session.countTries EQ 10),DE('0'),DE('#session.countTries#'))>
<cfset session.lockzoneTime = ''>
<script type="text/javascript">
    document.getElementById('useremail').disabled = false;
    document.getElementById('useremail').value = '';
    document.getElementById('password').disabled = false;
    document.getElementById('password').value = '';
    document.getElementById('login').disabled = false;
    document.getElementById('ajaxNotify').innerHTML = '';
</script>
</cfif>
<cfif diff IS 'No'>
<script type="text/javascript">
    if(document.getElementById('useremail').disabled == true) {
        document.getElementById('useremail').disabled = true;
    }
    if(document.getElementById('password').disabled == true) {
        document.getElementById('password').disabled = true;
    }
    if(document.getElementById('login').disabled == true) {
        document.getElementById('login').disabled = true;
    }
    if (document.getElementById('login').disabled == true) {
        document.getElementById('Notify').innerHTML = 'You have been temporarily locked out.';
    }
</script>
</cfif>
</cfsavecontent>
<cfhtmlhead text="#head#">

session.lockzoneTime

在不同页面上设置为:

TimeFormat(DateAdd('n', 5, TimeFormat(now(),'HH:mm')),'HH:mm')

问题似乎在这里,它一直在 cfdump 中给我 NO

<cfset diff = structKeyExists(session,'lockzoneTime') AND session.lockzoneTime NEQ '' AND DateDiff("n","#session.lockzoneTime#","#TimeFormat(TimeFormat(now(),'HH:mm'))#") GTE 5>

最佳答案

正如其他人提到的,日期函数如 dateAdd()dateDiff()日期/时间对象作为参数,而不是字符串。至少他们期望一个类似于日期的字符串(例如格式为 yyyy-mm-dd hh:mm:ss 的内容),CF 将有机会解析为日期/时间。格式为 hh:mm 的字符串类似于日期,因此 CF 尝试理解它们,因为日期将...呃...“容易出错”。

重新编码以按预期使用这些函数,然后看看效果如何。

根据经验,带有 format 一词的函数(例如: timeFormat() )只能在输出值时使用。它们不应该在逻辑中使用。

关于jquery - datediff 不工作 Coldfusion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30225191/

相关文章:

javascript - AJAX 页面加载和进度

coldfusion - 使用数据格式时逗号无效

xml - ColdFusion 创建 XML 并将其作为电子邮件附件发送

coldfusion - 在 ColdFusion 中杀死正在运行的进程?

jquery - 位置固定的 Div,直到特定高度出现故障

jQuery .focus() 在文本区域上不起作用

jquery - 与 .live() 相比,是什么让 .on() 使用起来更高效?

javascript - Jquery 单选按钮逻辑

sql - 编写这部分 T-SQL 语句的最有效方法是什么?

coldfusion - 静态文件应该保存为 TXT、CFM 还是 HTML?