TinyMCEを組み込んだフォームの値をJavaScriptで取得したり設定したりするには
TinyMCEのメソッドを使用する必要があります。
フォームの値を取得する
1 |
var data = tinymce.activeEditor.getContent(); |
フォームに値をセットする
1 2 |
var data = 'あいうえお'; tinymce.activeEditor.setContent(data); |
在宅プログラマーの備忘録として2005年に始めたブログです。
TinyMCEを組み込んだフォームの値をJavaScriptで取得したり設定したりするには
TinyMCEのメソッドを使用する必要があります。
フォームの値を取得する
1 |
var data = tinymce.activeEditor.getContent(); |
フォームに値をセットする
1 2 |
var data = 'あいうえお'; tinymce.activeEditor.setContent(data); |
JavaScriptのライブラリ「SortableJS」を使えば
ドラッグ&ドロップでリストの並び順を変えたりウィンドウの配置を入れ替えたり
といったUIをとても簡単に作ることができます。
デモ:
コード:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<div id="sort_demo1"> <div style="background-color:#ffc0c0;">1.りんご</div> <div style="background-color:#ffffc0;">2.いちご</div> <div style="background-color:#c0ffc0;">3.バナナ</div> <div style="background-color:#c0ffff;">4.スイカ</div> <div style="background-color:#c0c0ff;">5.佐藤太郎</div> </div> <style> #sort_demo1 div { cursor: pointer; margin: 2px; } </style> <script src="//cdnjs.cloudflare.com/ajax/libs/Sortable/1.15.0/Sortable.min.js"></script> <script> window.onload = function() { Sortable.create(sort_demo1, { sort: 1, group: { name: 'sort_demo1', pull: true, put: true }, animation: 150, onEnd: function(evt) { // ここで並び変えた状態を変数に保持したり、サーバーに送信したりする } }); } </script> |
数字を入力されたら即計算するようなフォームで使用
1 2 3 4 5 6 7 8 9 10 11 |
// トリム & 全角を半角に $('input:text').each(function(key, val) { var str = $(this).val(); str = str.trim(); var str2 = str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 65248); }); $(this).val(str2); }); |
別ウィンドウを開く際にPOSTでパラメータを送るには、
window.openで空のページを開いてから
そこに対してSUBMITを行います。
ページ上のフォームからもできますし、
フォームのないページでもPOSTできます。
まずは、ページ上のフォームからSUBMITする場合:
JavaScript
1 2 3 4 5 6 7 |
function post_open() { window.open('', 'new_window'); document.form1.action = 'page2.php'; document.form1.method = 'POST'; document.form1.target = 'new_window'; document.form1.submit(); } |
HTML
1 2 3 4 5 |
<form name="form1"> <input type="hidden" name="param1" value="hoge"/> <input type="hidden" name="param2" value="hage"/> <input type="button" value="送信" onclick="post_open();"/> </form> |
開いたウィンドウに名前をつけて、
その名前をtargetで指定するだけなので難しくないですね。
次に、フォームのないページでPOSTする場合:
※jQueryを使っています。
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function post_open() { window.open('', 'new_window'); // フォームを動的に生成 var html = '<form id="temp_form" style="display:none;">'; var data = { 'param1': 'hoge' ,'param2': 'hage' }; for(var x in data) { if(data[x] == undefined || data[x] == null) { continue; } var _val = data[x].replace(/'/g, '\''); html += "<input type='hidden' name='" + x + "' value='" + _val + "' >"; } html += '</form>'; $("body").append(html); $('#temp_form').action = 'page2.php'; $('#temp_form').method = 'POST'; $('#temp_form').target = 'new_window'; $('#temp_form').submit(); // フォームを削除 $('#temp_form').remove(); } |
1 |
var hash = {'key1' : 'val1', 'key2' : 'val2', 'key3' : 'val3'}; |
この連想配列の要素「key2」を削除する
1 |
delete hash['key2']; |