2011-07-01 100 views
1

我一直在試圖總結這一整天,但沒有快樂....你是我唯一的希望oni wan konobi!可以用TinyMCE和字符計數/限制器可以編輯

我已經看過了TinyMCE的max_chars插件,如果TinyMCE是自己實現的,它可以正常工作。

Jeditable還可以使用自定義類型來計算/限制字符。看到這裏:http://www.appelsiini.net/projects/jeditable/custom.html如果它自己實現,這個工作很好。

我需要使用Jeditable來實現TinyMCE。我已經管理好了,而且效果很好。但爲了做到這一點,必須爲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種類型?我真的非常需要限制和顯示字符的數量。理想情況下,我想用顯示和限制計數的可調方式。

非常感謝, 戴夫

回答

1

您可以開放的解決方案的另一種方式:你可以編寫自己的插件,它注意到了這一問題。這將是非常簡單的。這是一個鏈接到howto write a tinymce plugin。 您需要做的就是在onKeyDown上獲取內容並計算字符數。 根據不同的值,您可能會停止插入輸入的字符。

+0

不幸的是,這對我無效,因爲頁面上有多個tinymce實例,每個實例都需要自己的內容長度。這就是爲什麼我特別熱衷於嘗試和實施可接受的方式。 – Dave

+1

你可以使用一個自定義的tinymce初始化參數,並用不同的初始化你的每個tinymce實例 - 這將使你能夠定義不同的內容長度 – Thariama

相關問題