SPA自动获取隐藏的输入值并在查询中插入参数

时间:2015-10-27 14:37:39

标签: jquery coldfusion

我正在创建一个单页面应用程序。我正在尝试在sql中选择一个表并在字段中搜索特定日期Date_Due,然后确保另一个字段Date_Complete为空。我试图弄清楚如何在我的查询中有一个隐藏字段填写cfparam。由于JQuery,我的隐藏字段自动完成了正确的日期,但我需要知道如何将form.value传递给param,因为没有提交或插入任何内容。它只是一个隐藏的字段,具有正确的日期,我需要一些如何自动传递给参数内的查询。

http://jsfiddle.net/byyeh83t/8/

小提琴显示输入自动接收日期。但由于没有提交任何内容,没有任何按钮按下什么,我如何获取form.value并将其插入我的查询中的参数?

<input name="TomorrowsDate" id="TomorrowsDate" type="hidden"/>

    <cfquery name="tomorrowTextArea">
            SELECT *
            FROM dbo.Dealer_Track_Work
            WHERE Date_Due = <cfqueryparam value="form.TomorrowsDate" /> 
            AND Date_Complete IS NULL       
        </cfquery>

1 个答案:

答案 0 :(得分:2)

您网页的时间表就是这样:

  • GET - 请求加载html页面 SERVER
  • Javascript / jQuery执行日期 CLIENT
  • 的计算
  • Javascript / jQuery设置隐藏输入 CLIENT
  • 的值
  • 您需要的查询结果取决于计算的日期 SERVER

如果您不想重新加载页面

  

但是由于没有提交任何内容,没有任何按钮按下

需要某种异步消息。

var dateForQuery = AddBusinessDays(dateMin, 1); 
$.ajax(
    'your_query_page.cfm',
    {data: {date: dateForQuery }}
).done(function(result){
    \\ do something with the query result
});

在服务器端:

<cfparam name="URL.date" default="#Now()#" />

<cfquery name="tomorrowTextArea">
    SELECT *
    FROM dbo.Dealer_Track_Work
    WHERE Date_Due = <cfqueryparam value="#URL.date#" /> 
    AND Date_Complete IS NULL       
</cfquery>

<cfoutput>#SerializeJSON(tomorrowTextArea)#</cfoutput>