Skip to content
Advertisement

Submitting data via Ajax in X-Editable

I am trying to submit data via Ajax using X-Editable and having trouble with running the php script defined in url parameter. Actually, I got basic example from working:

Html:

<a href="#" id="username" data-type="text" data-pk="1" data-name="username" data-original-title="Enter username" class="editable">superuser123</a>

Js:

$('#username').editable({
    url: 'post.php',
    type: 'text',
    pk: 1,
    name: 'username',
    title: 'Enter username'
});

And this is working (post.php is executed). But now I want to have more editable fields and to run them on button click. This is my html (I am using Smarty):

{foreach from=$categories key="category_key" item="category_item"}
<tr>
    <th scope="row">{$category_key + 1}</th>
    <td>
        <span  id="edit-button-{$category_key + 1}" data-pk="1" data-original-title="Edit category name"  data-toggle="#edit">
            {$category_item["name"]}
        </span>
        <button  class="btn edit"><span class="glyphicon glyphicon-pencil"></span></button>
    <td>0</td>
</tr>
{/foreach}

And related Javascript:

$(document).ready(function() {
    //toggle `popup` / `inline` mode
    $.fn.editable.defaults.mode = 'inline';     

    $('.edit').click(function(e){    
        e.stopPropagation();
        var button = $(this).prev('span').attr('id');

        $('#'+button).editable('toggle',{
            url: 'post.php',
            type: 'text',
            pk: 1,
            name: button,
            title: 'Edit category'                   
        });  
    });
});

The thing is that this creates editable fields as it should, but it doesn’t call post.php script (unlike in the first example). What I am doing wrong?

Advertisement

Answer

I have solved it by doing the following:

$('#' + button).editable({
    url: 'post.php',
    type: 'text',
    name: button,
    title: 'Edit category',
    ajaxOptions: {
        type: 'post'
    },
    //  success: function(data) {
    //   alert(data);
    // }, 
});
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement