2017-02-03 3 views
1

Unten ist mein Code, der die Wortzählung auf Knopfdruck gibt, aber statt Wortzählung auf Knopfklick anzuzeigen, muss ich Wortzählung direkt anzeigen, wenn ich in ck Editor eintippe .Wie kann ich tun this.I die Zählung auf der Schaltfläche klicken, erhalten im Stande ist, aber ich brauche die gleiche Zählung angezeigt werden, währendWie man Wortzählung anzeigt, während man Text in ck-Editor schreibt

HTML-Code eingeben:

<body> 
    <form id="form1" runat="server"> 
    <div> 
     <CKEditor:CKEditorControl ID="CKEditor1" BasePath="/ckeditor/" runat="server"> 
     </CKEditor:CKEditorControl> 
     <asp:Button ID="btn1" runat="server" OnClick="btn1_Click" Text="Get Word Count" /> 
     <asp:Label ID="lbl1" runat="server"></asp:Label> 
    </div> 
    </form> 
</body> 

C# -Code:

protected void Page_Load(object sender, EventArgs e) 
{  
} 

protected void btn1_Click(object sender, EventArgs e) 
{ 
    string whole_text = CKEditor1.Text; 
    string trimmed_text = whole_text.Trim(); 

    // new line split here 
    string[] lines = trimmed_text.Split(Environment.NewLine.ToCharArray()); 

    // don't need this here now...    
    //string[] split_text = trimmed_text.Split(' '); 

    int space_count = 0; 
    string new_text = ""; 
    foreach (string line in lines) 
    { 
     // Modify the inner foreach to do the split on ' ' here 
     // instead of split_text 
     foreach (string av in line.Split(' ')) 
     { 
      if (av == "") 
      { 
       space_count++; 
      } 
      else 
      { 
       new_text = new_text + av + ","; 
      } 
     } 
    } 

    new_text = new_text.TrimEnd(','); 

    // use lines here instead of split_text 
    lines = new_text.Split(','); 
+1

wie über diese http://w8tcha.github.io/CKEditor-WordCount-Plugin/ – crowchirp

+0

CKEditor API versuchen, Daten von ihm zu bekommen Z.B. Verwenden Sie die Methode [getData()] (http://docs.cksource.com/geckeditor_api/symbols/CKEDITOR.editor.html#getData) (gibt HTML zurück) oder vielleicht [DOMApi] (http: //docs.cksource .com/ckeditor_api/symbols/CKEDITOR.dom.text.html) –

Antwort

0

Sie müssen den Ereignishandler zum CK-Editor hinzufügen.
Beispiel aus der Dokumentation:

var editor = CKEDITOR.replace('editor1'); 
// The "change" event is fired whenever a change is made in the editor. 
editor.on('change', function(evt) { 
    // getData() returns CKEditor's HTML content. 
    console.log('Total bytes: ' + evt.editor.getData().length); 
}); 

Für weitere Informationen http://docs.ckeditor.com/#!/guide/dev_savedata

+0

Ich glaube nicht, dass CKEditor Textchange-Ereignis hat. Einige Eigenschaften von ASP.NET TextBox Control werden nicht behandelt. –