Question

$(function(){



            //enable / disable
            $('#enable').click(function() {
                $('#user .editable').editable('http://domain.com/update.php');
            });    

            //modify buttons style
            $.fn.editableform.buttons = 
            '<button type="submit" class="btn btn-success editable-submit btn-mini"><i class="icon-ok icon-white"></i></button>' +
            '<button type="button" class="btn editable-cancel btn-mini"><i class="icon-remove"></i></button>';  

            //editables 
            $('.remarks').editable({
                url: 'http://domain.com/update.php',
                display: function(value, response) {
                //render response into element
                $(this).html(response);
                }
            });



            //ajax emulation. 
            $.mockjax({
                url: 'http://domain.com/update.php',
                responseTime: 400,
                response: function(settings) {
                this.responseText = settings.data.value;
                }
            });


        });

Without using Mockjax, the MySQL row update is working but the element in the html page is not updated.

If I use Mockjax, the element in the html page is updated but MySql row is not updated.

Are there any workaround for this?

Thank you very much.

Was it helpful?

Solution

Why are you using mockjax? From what I understand mockjax is just for mock up purposes only, you should be using ajax. Like so:

 $('#a').editable({
    validate: function(value) {
        if($.trim(value) == '') return 'This value is required.';
    },
    type: 'text',
    url: '/post',
    pk: '123', // id of the row in your db...
    title: 'Enter Value',
    params: function(params) {
        var data = {};
        data['id'] = line;
        data['field'] = params.name;
        data['value'] = params.value;
        return data;
    },
    ajaxOptions: {
        dataType: 'json'
    },
    display: function(value, response) {
        $(this).text(response.new_value_from_server);
    },
    success: function(response, newValue) {
        // output what ever you want here if the submit was successfull...
    }
});     
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top