使用jquery对话框按钮提交表单

时间:2012-05-04 00:44:28

标签: jquery jquery-ui codeigniter codeigniter-2

从jQuery对话框处理提交函数(基于this问题)。使用codeigniter和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" );}
            }
        });
    });

2 个答案:

答案 0 :(得分:4)

您在buttons对象中指定的功能是点击处理程序 您可以直接在该功能中发送您的请求。

答案 1 :(得分: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