2012-07-05 73 views
2

我非常喜歡Coldfusion,並通過URL通過Web在表單中傳遞變量。我無法把頭圍繞在這個移動的東西上。我正在開發一個從我的服務器上的數據庫中提取的應用程序。我現在有2個調用服務器的服務器,它只是在沒有任何「where」語句的情況下提取數據,並且它們工作得很好。我想添加一個搜索輸入,該輸入將在用戶在我的.cfc查詢框中輸入用戶鍵入的內容。不知道如何將數據從手機表單傳遞到服務器上的cfc。Coldfusion CFC的JQuery搜索輸入

下面是搜索按鈕的代碼...

<form action="searchresult.html" method="post" data-transition="none"> 
    <input type="search" name="mySearch" 
      id="mySearch" value="" data-mini="true" data-theme="b" /> 
</form> 

這是在我的XCode腳本代碼應該運行在搜索提交...(我不知道往哪裏放任何變量傳遞商品共同基金。它可以在URL中傳遞?)

$("#resultPage").live("pageshow", function() { 
    console.log("Getting remote list" + event.notification); 
    $.mobile.showPageLoadingMsg(); 
    $.get("http://www.mywebsite.com/jquery/ryprad.cfc? 
         method=getsearch&returnformat=json", 
     {}, 
     function(res) { 
      $.mobile.hidePageLoadingMsg(); 
      var s = ""; 
      for(var i=0; i<res.length; i++) { 
       s+= "<li><a name=" + res[i].id + " + href='" 
        + res[i].showlink + "'>" 
        + res[i].date + "<br/>" + res[i].name + "<br/>" 
        + res[i].description + "</a></li>"; 
      } 

      $("#resultList").html(s); 
      $("#resultList").listview("refresh"); 
      }, 
     "json" 
    ); 
}); 

這是我的服務器上的CFC ...

component { 
remote array function getsearch() { 
    var q = new com.adobe.coldfusion.query(); 
     q.setDatasource("myDat"); 
     q.setSQL(" 
      select id1, Date, ShowLInk, IntName, description from RYPRadio 
      Where intName 
      LIKE '%#VARIABLE_FROM_PHONE_SEARCH#%' 
      order by date desc" 
     ); 
     var data = q.execute().getResult(); 
     var result = []; 
     for(var i=1; i<= data.recordCount; i++) { 
      arrayAppend(
       result, 
       { 
        "id"=data.id1[i], 
        "name"=data.IntName[i], 
        "date"=dateformat(data.date[i], "mmmm d, yyyy"), 
        "description"=data.description[i], 
        "showlink"=data.ShowLInk[i] 
       } 
      ); 
     } 
     return result; 
    } 
} 

我希望有人能爲此提供幫助。如果我能得到這個工作,它將幫助我開發其他能夠傳遞變量的東西!

+0

這是否類似於您要執行的Google Suggest過濾器/搜索?是的,您可以通過URL將數據傳遞給CFC。 – BKK 2012-07-05 21:19:26

回答

6

添加搜索串jquery的呼叫:

$.get("http://www.mywebsite.com/jquery/ryprad.cfc?method=getsearch&returnformat=json&searchName="+ $("#mySearch").val(), {}, function(res) { 

而且ColdFusion的添加參數:

remote array function getsearch(searchName) { 

並相應地調整你的查詢。你應該使用這樣的參數:

q.setSQL("select id1, Date, ShowLInk, IntName, description from RYPRadio Where intName LIKE :searchParam order by date desc"); 
q.addParam(name="searchParam", value="%#searchName#%"); 
+0

夥計。這正是我需要的。很棒!我真的很感激你的快速回復。 – 2012-07-05 21:44:07

+0

很高興幫助 – 2012-07-06 01:07:14