0

1つのテキスト領域と1つのテキストボックスで構成されるインライン形式の帽子が必要です。次のコードを使用して、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はその空の応答を受け取り、画面上でそれを使用するため、編集されたテキストは空白になります。編集したテキストを返そうとしましたが、その場合はコードは機能しますが、必要がない限り、そのすべてのテキストを返したくありません。

誰かが以前にこの問題を見たことがありますか?どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

サーバーアクションで値を返さないことはできないと思います。Jeditable のドキュメントでは、サーバーに送信される 2 つのパラメーターが「id」と「value」であり、新しく表示されるテキストがサーバーが返すものであることが明確に述べられています。

于 2011-04-12T15:00:19.447 に答える