2013-06-05 6 views
6

Ich versuche, Senden-Schaltfläche zu aktivieren, wenn einige Formularfelder gefüllt sind. Ich habe ein Stück JavaScript-Code gefunden, der funktioniert, aber ich habe ein Problem mit Textareal, das von Tinymce transformiert wird ... Wie fängt man es?tinymce v4 jquery: wie man onkeyup zu fangen?

Mein html:

<form id="form_id1"> 
<fieldset> 
<legend>Personal</legend> 
Name: <input type="text" size="30" /><br /> 
Email: <input type="text" size="30" /><br /> 
Date of birth: <input type="text" size="10" /><br /> 
Address : <textarea size="30"></textarea><br /> 

</fieldset> 
<input type="submit" value="Submit" /> 
</form> 

Mein javascript:

$(document).ready(function() 
{ 

    $('#form_id1 input:submit').attr("disabled", true); 
    var textCounter = false; 
    $('#form_id1 input:text, #form_id1 textarea').keyup(check_submit); 

    function check_submit() { 
     $('#form_id1 input:text, #form_id1 textarea').each(function() 
      { 
      if ($(this).val().length == 0) { 
       textCounter = true; 
       return false; 
       } 
      else { 
       textCounter = false; 
      } 
     }); 

     $('#form_id1 input:submit').attr("disabled", textCounter); 
    } 
}); 

Mein tinymce init:

tinymce.init({ 
       selector: "textarea", 
       language: 'fr_FR', 
       image_advtab: true, 
       menubar:false, 
       forced_root_block: false, 
       plugins: ["link","code","media","image","textcolor", "emoticons"], 
       toolbar: "bold italic forecolor backcolor alignleft aligncenter alignright alignjustify link unlink image media emoticons", 
      }); 

Dank

Antwort

19

In tinymce init add:

Beachten Sie, dass Sie möglicherweise Ihre Editor-Instanz anstelle des Textfelds suchen müssen, um den tatsächlichen Wert zu erhalten. Wenn Sie den Textbereich gemacht haben id="textarea-tiny-mce"

tinymce.get('textarea-tiny-mce').getContent(); 
2
window.onload = function() { 
     tinymce.get('content').on('keyup',function(e){ 
      console.log(this.getContent().replace(/(<[a-zA-Z\/][^<>]*>|\[([^\]]+)\])|(\s+)/ig,'')); 
     }); 
    } 
0
tinymce.init({  
     setup: function (editor) { 
      editor.on('keyup', function (e) { 
       console.log(e); 
       //custom logic 
      }); 
     } 
    });