2012-05-04 76 views
0

從jQuery對話框中處理提交函數(基於this問題)。使用codeigniter和jquery。使用jQuery對話框按鈕提交表單

我想將ajax POST綁定到jquery對話框按鈕單擊,但不知道該按鈕的選擇器應該是什麼。我嘗試使用.ui-dialog-buttonpane按鈕:first或「this」作爲選擇器;既沒有工作。

HTML表單

<?php echo form_open('bookmarks/addBookmark'); ?> //form name: create_bookmark 
<?php echo form_input('bookn', $bname); ?> 
<?php echo form_hidden('booki', $this->uri->segment(4, 0)); ?> 
<button class="bb_button">Bookmark</button> 
<?php echo form_close(); ?> 

jQuery的

$(function() { 

     $("#create_bookmark").dialog({ 
      autoOpen: false, 
      width: 250, 
      height: 250, 
      modal: true, 
      buttons: { 
       "Add location": function() {  

       $('?????').click(function() { //How do I specify the dialog button? 

      $.ajax({ 
       url: '/bookmarks/addBookmark', 
       type: 'POST', 
       data:{"bookn": $("input[name='bookn']").val()​, "booki": $("[name='booki']").val()​}, 
       success: function (result) { 
        alert("Your bookmark has been added."); 
       }           
      }); 
       }, 
       Cancel: function() {$(this).dialog("close");} 
      } 
     }); 
    }); 

回答

4

您在buttons對象指定的功能單擊處理程序。
您可以使用該功能發送您的請求。

+0

我刪除我已經添加了(一式兩份)點擊功能的實現,並獲得成功對話框,但沒有任何內容到達數據庫。將繼續檢查。 – chowwy

+0

不,它不工作。我知道ajax代碼很好,因爲我在應用程序的其他地方使用它。 – chowwy

+0

@chowwy:你在Firebug中看到了什麼? – SLaks

0

它看起來像後,我爆發出來,並縮進得當,你錯過了}這是假設Slaks的回答

 buttons: { 
      "Add location": function() {  

      $.ajax({ 
       url: '/bookmarks/addBookmark', 
       type: 'POST', 
       data:{ 
       "bookn": $("input[name='bookn']").val()​, 
       "booki": $("[name='booki']").val() 
       ​}, 
       success: function (result) { 
       alert("Your bookmark has been added."); 
       } 
      });          
     } //<<This one 
+0

很難說,雖然......你的縮進很怪異...... –