2012-05-04 4 views
0

Работа над функцией отправки из диалогового окна jQuery (на основании вопроса this). Использование codeigniter и jquery.использовать кнопку диалога jquery для отправки формы

Я хочу связать ajax POST с кнопкой диалога jquery, но не знаю, какой должен быть переключатель для этой кнопки. Я попытался использовать кнопку .ui-dialog-buttonpane: сначала или «this» в качестве селектора; ни работали.

HTML FORM

<?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

Трудно сказать, хотя ... ваш отпечаток странный ... –