###前提・実現したいこと
今、iframeのdesignModeを用いずにリッチエディタを作っています。
入力した文字に対して範囲選択して、ボタンを押すと色や太字にするところまではこぎつけたのですが、その文字を(今入力した文字)を取得して、そのボックスの下にあるテキストエリア内に出力しようとしていますがなかなかうまくいきません。
リッチエディタ自体は<div>で作っていて、その中の値をinnerHTMLで引き出すところまでは挑戦しましたが、どうも何も吐き出されず(あらかじめhtmlでdiv内に文字を入れとくと反映する。)
やりたいこととしては、今入力したもののデータも全て取得、出力できるようになることです。
リアルタイムにデータを監視するような?方法がどうもわからず質問させていただきました。
現段階だと、文字入力前のデータを取得して止まってしまっています。
”なにかのぼたんを押したとき”にその中身を取得するような感じでも大丈夫です。
できればピュアなjsで書きたいと思っています。
よろしくお願いします。
###該当のソースコード
html,css,javascript,jquery
###試したこと
何をしてもお手上げでした。
jsは初心者です、エラーは出ておりません。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
myClickeeを押すと、edit_areaに入力したものがsampleに吐き出されると最高です。
//html
<input id="url" type="text" value="http://"> <input type="button" onclick="miceditor.link();" value="リンク">| <button type="button" onclick="miceditor.span('red');"><span class="red">紅</span></button>| <button type="button" onclick="miceditor.span('blue');"><span class="blue">蒼</span></button>| <button type="button" onclick="miceditor.span('green');"><span class="green">翠</span></button>| <button type="button" onclick="miceditor.span('yellow');"><span class="green">黄</span></button>| <button type="button" onclick="miceditor.span('new');"><span class="new">NEW</span></button> <div id="edit_area" class="edit_area"><input type="text" id="cursor" class="cursor"></div> <div class="edit_area" style="visibility:hidden;"><span id="getCursorBoxWidth"></span></div> <div id = "myClickee">ここをクリック!</div> <textarea id="sample"></textarea> <p id="log"></p>
//script
var nakami = document.getElementById('edit_area');
var sample = document.getElementById('sample');
var nakamiInner = nakami.innerHTML;
var sampleInner = sample.value;
console.log(nakamiInner);
console.log(sampleInner);
console.log(sample);
// クリックのイベントハンドラを定義
function myClicked( e ) {
// 引数 e には色々なものが入っているが今回は使わない
sample.value = nakamiInner;
}
// onclick イベントのイベントハンドラを設定
document.getElementById( "myClickee" ).onclick = myClicked;
