Пользовательские типы JEditable приводят к тому, что редактирование становится пустым - PullRequest
0 голосов
/ 14 января 2011

Мне нужен встроенный формат, который состоит из одной текстовой области и одного текстового поля.Я решил написать пользовательский тип для Jeditable, используя следующий код:

    $.editable.addInputType('edit_area', {
        element : function(settings, original) {
            var input = $('<textarea id=\"bio\">');               
            $(this).append(input);

            var source = $('<input type="text" id="source" />');
            $(this).append(source);

            var hidden = $('<input type="hidden" />');
            $(this).append(hidden);

            return(hidden);
        },
        submit: function (settings, original) {
            var value = $('#bio').val();

            $(':hidden', this).val(value);
        }
    });

    $('.edit_area').editable('/MyUrl/', {
        type      : 'edit_area',
        cancel    : 'Cancel',
        submit    : 'OK',
        submitdata : function(value, settings) {
            var source = $("#source").val();

            return {foo: source};
        }
    });

Этот код работает НО, когда информация отправляется на сервер (сервер возвращает пустой результат), похоже, что Jeditable принимает этот пустой ответи использует его на экране, что приводит к тому, что отредактированный текст становится пустым.Я попытался вернуть отредактированный текст, и в этом случае код работает, но я не хочу возвращать весь этот текст, если мне не нужно.

Кто-нибудь видел эту проблему раньше?Любая помощь приветствуется.

Спасибо

1 Ответ

0 голосов
/ 12 апреля 2011

Я думаю, что невозможно вернуть значение в вашем действии сервера.В документации Jeditable четко указано, что на сервере размещены два параметра: «id» и «value», и что новый отображаемый текст - это то, что возвращает сервер.

...