2012-03-21 19 views
1

每個人。我是一位相對較新的開發人員,在jQuery AJAX和PHP方面的經驗有限。我正在研究一個Wordpress插件,這對我來說也是一個學習練習。WordPress的jQuery到PHP的數據傳輸

基本描述:在我的插件的管理頁面上,我有一堆表單,將顯示爲模式窗口(使用jQuery UI),填寫完畢後,將其字段提交到單獨的PHP文件進行處理。該文件將接受數據並準備將其插入到我設置的wpdb表中。

插件管理頁面(PHP):

<div id="form1" title="My Awesome Form"> 
    <form id="frmNewCom"> 
     <fieldset> 
     <table> 
      <tr> 
       <td><label for="name">Community Name</label> 
       <td><input type="text" name="newComName" id="newComName" /> 
      </tr> 
      <tr> 
       <td><label for="lefthead">Left Column Header</label></td> 
       <td><input type="text" name="newComLefthead" id="newComLefthead" /></td> 
      </tr> 
      <tr> 
       <td><label for="righthead">Right Column Header</label></td> 
       <td><input type="text" name="newComRighthead" id="newComRighthead" /></td> 
      </tr> 
     </table> 
     </fieldset> 
    </form> 
</div> 

表單的jQuery UI代碼($pcal是我沒有衝突的事情):

$pcal('#form1').dialog({ 
     autoOpen: false, 
     height: 275, 
     width: 400, 
     modal: true, 
     buttons: { 
      "Add Living Option": function() { 
       // Functionality for submit 
      }, 
      Cancel: function() { 
       $pcal(this).dialog("close"); 
      } 
     }, 
     close: function() { 
      // close function 
     } 
    }); 

現在,這裏的問題。從這一點我不確定該怎麼做。我讀過一堆關於使用.post().serialize()的內容,在這一點上我感到非常困惑。

你們是否有一些洞察正確的JavaScript/jQuery到PHP處理你可以貸款?我也在Wordpress論壇上提過這個問題,但我一直在這裏找到很好的建議,所以我想問問。任何和所有的幫助表示讚賞。

回答

1

一個非常簡單的例子是:

$pcal.post("test.php", $pcal("#frmNewCom").serialize(), function() { 
    // this will run once returned from PHP 
    alert('thanks'); 
    $pcal(this).dialog("close"); 
}); 

此訊息以序列化格式(newComName=1&newComLefthead=2&newComName=3其中1,2和3在您的表單中輸入的值)的形式(id = frmNewCom)使用.post().serialize()

然後test.php你會訪問你的價值觀是這樣的:

$newComName = $_POST['newComName']; 
$newComLefthead = $_POST['newComLefthead']; 
$newComName = $_POST['newComName']; 
// insert into table 

以上是a)未經測試和b)不包含任何針對SQL injection的預防,如果您想將其存儲在數據庫中

+0

太棒了。實際上,這正是我現在所擁有的。現在我遇到了wpdb-> query()方法拋出錯誤的問題,但這是一個完全不同的問題。 – JSchneider 2012-03-21 19:16:42