2013-06-05 11 views
6

いくつかのフォームフィールドが入力されたときにサブミットボタンを有効にしようとしています。私は動作するJavaScriptコードを見つけましたが、私はtinymceによって変換されたtextarea fielの問題を抱えています...それを捕まえる方法は?tinymce v4 jquery:onkeyupをキャッチする方法は?

私の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> 

私の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); 
    } 
}); 

私のTinyMCEの初期化:

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", 
      }); 

感謝のTinyMCEのinitアドオンで

答えて

19

setup: function(ed) { 
    ed.on('keyup', function(e) { 
     console.log('Editor contents was modified. Contents: ' + ed.getContent()); 
     check_submit(); 
    }); 
} 

実際の値を取得するには、テキストエリアではなくエディタインスタンスを見つける必要があります。あなたがテキストエリアを作った場合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 
      }); 
     } 
    }); 
を持っています
関連する問題