2014-01-28 118 views
1

使用jQuery會怎麼用Ĵ查詢和論壇

$("button").click(function(event){ 

要填充一個論壇變量。

我想要一個按鈕,如果用戶點擊它將決定評論的去向。這樣我就可以使用Image_ID將每條評論鏈接到單獨的圖像。我想這樣做,以便用戶不必輸入目前在下面的論壇中需要的Image_ID號碼。

<input type="text" name="Image_ID" message="Please enter Account Here." 
           validateat="onSubmit" required="yes" id="Image_ID" size="10" 
           maxlength="60"> 
         </input> 

以上是手動輸入的部分,我需要自動化。

 <cfform name="InsertComments" id="InsertComments"> 
      <fieldset> 
<div id="container"> 
    <div id="mainContent"> 


      <textarea name="Remarks" cols="55" rows="4" label="Tour Description" 
            required="yes" validateat="OnSubmit" message="Please enter your comment here" 
            enabled="no"> 
         </textarea> 
      <input type="text" name="Image_ID" message="Please enter Account Here." 
           validateat="onSubmit" required="yes" id="Image_ID" size="10" 
           maxlength="60"> 
         </input> 
     <input type="submit" name="insertComments" value="Insert Comments" id="submit"> 
         </input> 
     </div> 
    </div> 
    </fieldset> 
    </cfform> 
     <cfif IsDefined("form.InsertComments")> 

        <cfquery datasource="AccessTest"> 
         INSERT INTO CommentsDB (Remarks, Image_ID, Date_Time) 
         VALUES 
         (<cfqueryparam value="#form.Remarks#" cfsqltype="CF_SQL_LONGVARCHAR"> 

         , <cfqueryparam value="#form.Image_ID#" cfsqltype="cf_sql_integer"> 

         , <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp"> 

         ) 
        </cfquery> 

      </cfif> 

我的總碼是以下;

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
     <title> 
      Untitled Document 
     </title> 

     <cfquery datasource="AccessTest" name="qTest"> 
      SELECT P.Account, P.Image, P.Image_ID, C.Remarks, C.Users, C.Accounts, C.Date_Time 
      FROM PictureDB AS P 
      INNER JOIN CommentsDB AS C 
      ON C.Image_ID = P.Image_ID 
      ORDER BY P.Image_ID 
     </cfquery> 

     <script src="http://code.jquery.com/jquery-2.0.3.js"> 

     </script> 

     <script> 
      $(document).ready(function(){ 
        var images = { 
        <cfoutput query="qTest" group="Image_ID"> 
         "#qTest.Image_ID#": { 
          "image": "#qTest.Image#", 
          "remarks": [ 
          <cfoutput> 
           "#qTest.Users#, #qTest.Date_Time# <br> #qTest.Remarks# <br> </br>", 
          </cfoutput> 
          ] 
         }, 
        </cfoutput> 
       }; 
        $("button").click(function(event){ 
        event.preventDefault(); 
        var id = $(this).data("id"); 
        var src = images[id].image; 
        var desc = images[id].remarks.toString(); 

        $("#theImage").attr("src", src).removeClass("hide"); 
        $("#theDescription").html(desc).removeClass("hide"); 
        }); 
       }); 
     </script> 
    </head> 

    <body> 



         <cfoutput query="qTest" group="Account"> 
        <button data-id="#qTest.Image_ID#"> 
         #qTest.Account# 

        </button> 

       </cfoutput> 

        <cfform name="InsertComments" id="InsertComments"> 
      <fieldset> 
<div id="container"> 
    <div id="mainContent"> 


      <textarea name="Remarks" cols="55" rows="4" label="Tour Description" 
            required="yes" validateat="OnSubmit" message="Please enter your comment here" 
            enabled="no"> 
         </textarea> 
      <input type="text" name="Image_ID" message="Please enter Account Here." 
           validateat="onSubmit" required="yes" id="Image_ID" size="10" 
           maxlength="60"> 
         </input> 
     <input type="submit" name="insertComments" value="Insert Comments" id="submit"> 
         </input> 
     </div> 
    </div> 
    </fieldset> 
    </cfform> 
     <cfif IsDefined("form.InsertComments")> 

        <cfquery datasource="AccessTest"> 
         INSERT INTO CommentsDB (Remarks, Image_ID, Date_Time) 
         VALUES 
         (<cfqueryparam value="#form.Remarks#" cfsqltype="CF_SQL_LONGVARCHAR"> 

         , <cfqueryparam value="#form.Image_ID#" cfsqltype="cf_sql_integer"> 

         , <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp"> 

         ) 
        </cfquery> 

      </cfif> 


       <img id="theImage" class="hide"> 
     <div id="theDescription" class="hide"> 
     </div> 

     </body> 
</html> 

enter image description here

+2

什麼是 「論壇變量」?顯示jQuery提供的客戶端標記,並解釋你想要做的標記。目前,您只顯示服務器端代碼,該代碼不與JavaScript進行交互。 – David

+1

爲什麼使用cfform cftextarea和cfinput?爲什麼不使用form,textarea和input的常規html標籤? –

+1

而不是打開一個新的線程,請更新[您現有的問題](http://stackoverflow.com/questions/21394338/image-id-determined-by-button-selected) – Leigh

回答

2

而不必所有的細節,這裏有一些基本的jQuery設置一個HTML表單輸入的值(這是你的「論壇變量」?何意)。

car someImageId = 123; 

// Assumes you have a button with id="myButton" to trigger this event. 
$("#myButton").click(function(){ 

    // Set it to a literal string 
    $("#Image_ID").val("value goes here"); 

    // Or you could set it to a variable (perhaps this variable is initialized/set when the page loads w/ data from the server) 
    $("#Image_ID").val(someImageId);  

}); 
+0

這應該是一個很好的起始位置。謝謝! –

1

如果您有:

<form method="post"> 
    <button data-id="#qTest.Image_ID#" type="submit" name="myButton">Save</button> 
</form> 

然後你會(編輯):

(function() { 
    $("button[name=myButton]").click(hollaBackGirl); 
    function hollaBackGirl() { 
     console.log($(this).data('id')); 
     // My JavaScript goes here 
    } 
})(); 
+0

謝謝!這應該有幫助! –

+0

如果是\t <鈕數據-ID = 「#qTest.Image_ID#」> \t \t \t \t \t \t#qTest.Account# \t \t \t \t \t \t \t \t \t \t \t .....我將如何參考? –

+0

看看你現有的點擊功能。你已經擁有* id值;-)就像[gooberverse演示]一樣使用它(http://stackoverflow.com/a/21414859/104223)。 – Leigh