Jeditable с TinyMCE и счетчиком символов / ограничителем - PullRequest
1 голос
/ 01 июля 2011

Я пытался понять это весь день, но не радости .... ты моя единственная надежда, oni wan konobi!

Я смотрел на плагин max_chars для TinyMCE, который прекрасно работает, если TinyMCEреализуется самостоятельно.

Jeditable также имеет возможность считать / ограничивать символы, используя пользовательский тип.Смотрите здесь: http://www.appelsiini.net/projects/jeditable/custom.html Опять же, это прекрасно работает, если оно реализовано само по себе.

Мне нужно реализовать TinyMCE с Jeditable.Что мне удалось, и это прекрасно работает.Но для того, чтобы сделать это, должен быть пользовательский тип для TinyMCE.

Вот мой код для этого типа:

$.editable.addInputType('mce', {
element : function(settings, original) {
    var textarea = $('<textarea id="'+$(original).attr("id")+'_mce"/>');
    if (settings.rows) {
       textarea.attr('rows', settings.rows);
    } else {
       textarea.height(settings.height);
    }
    if (settings.cols) {
       textarea.attr('cols', settings.cols);
    } else {
       textarea.width(settings.width);
    }
    $(this).append(textarea);
       return(textarea);
    },
    plugin : function(settings, original) {
       tinyMCE.execCommand("mceAddControl", true, $(original).attr("id")+'_mce');

       },
    submit : function(settings, original) {
       tinyMCE.triggerSave();
       tinyMCE.execCommand("mceRemoveControl", true, $(original).attr("id")+'_mce');
       },
    reset : function(settings, original) {
       tinyMCE.execCommand("mceRemoveControl", true, $(original).attr("id")+'_mce');
       original.reset();
}
});

Вот код счетчика Jeditable:

$.editable.addInputType('charcounter', {
element : function(settings, original) {
    var textarea = $('<textarea />');
    if (settings.rows) {
        textarea.attr('rows', settings.rows);
    } else {
        textarea.height(settings.height);
    }
    if (settings.cols) {
        textarea.attr('cols', settings.cols);
    } else {
        textarea.width(settings.width);
    }
    $(this).append(textarea);
    return(textarea);
},
plugin : function(settings, original) {
    $('textarea', this).charCounter(settings.charcounter.characters,   settings.charcounter);
}
});

Есть ли способ заставить эти 2 работать вместе ??В идеальном мире я бы просто мог назвать 2 типа.Мой код вызова:

$(function(){
   $(".editable_profbod").editable('save.asp?PageID=<%=PageID%>&SectionID=1',
    {
      type : 'mce',
  indicator : 'Saving...',
      tooltip : 'Click to edit...',
      name : 'note_text',
      submit : 'OK',
      cancel : 'Cancel',
      height : '100px',
  onblur: 'ignore',
  cssclass: 'editable'
   });

Есть ли способ объединить эти 2 типа ??Мне просто очень сильно нужно ограничить и показать количество символов.В идеале я хочу использовать jeditable способ показать и ограничить счет.

Большое спасибо, Дейв

1 Ответ

1 голос
/ 01 июля 2011

Возможно, вы открыты для другого пути решения: вы можете написать свой собственный плагин, который позаботится об этом. Это было бы довольно просто. Вот ссылка на как написать плагин tinymce . Все, что вам нужно будет сделать, это действовать по ключу, чтобы получить Контент и подсчитать количество символов. В зависимости от значения вы можете прекратить ввод набираемых символов.

...