2012-03-23 35 views
3

私のフォームは入力とテキストエリアを使用していますが、そのうちのいくつかはTinyMCEエレメントとして追加しました。問題は、入力がテキストエリアと同じサイズに変換されることです。私は入力が非TinyMCE入力フィールドと同じ高さになりたいです(私はTinyMCEの最新バージョンを使用しています - 3.5b2)。例えばTinyMCEの入力高さをテキストエリアの高さに変更する

、TinyMCEのは、入力とテキストエリアにこのテーブルを追加します。

<table role="presentation" id="teaser_tbl" class="mceLayout" cellspacing="0" cellpadding="0" style="width: 590px; height: 100px; ">

どのように私は30pxへの入力のための高さを減らすために、この埋め込まれたスタイルを変更できますか?

TinyMCEフォーラムではposted thisと書いてあります。

+0

1良い質問 – Thariama

答えて

3
<table role="presentation" id="teaser_tbl" class="mceLayout" cellspacing="0" cellpadding="0" style="width: 590px; height: 100px; "> 

これは、変更する必要がある要素とまったく同じです。 Tinymceには幅と高さのinitパラメータがありますが、この設定では不十分な場合があります。 エディタのiframeに明示的に同じ高さが割り当てられているため、iframeも調整する必要があります。あなたは、これは、エディタの初期化を右行うべきである

var new_val = '30px'; 

// adjust table element 
$('#' + 'my_editorid' + '_tbl').css('height', new_val); 

//adjust iframe 
$('#' + 'my_editorid' + '_ifr').css('height', new_val); 

Idealyを呼び出す必要があります。だから、使用:

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onInit.add(function(ed, evt) { 

     var new_val = '30px'; 

     // adjust table element 
     $('#' + ed.id + '_tbl').css('height', new_val); 

     //adjust iframe 
     $('#' + ed.id + '_ifr').css('height', new_val); 
     }); 
    } 
}); 

更新:jQueryのなしソリューション:

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onInit.add(function(ed, evt) { 

      var new_val = '30px'; 

      // adjust table element 
      var elem = document.getElementById(ed.id + '_tbl'); 
      elem.style.height = new_val; 

      // adjust iframe element 
      var iframe = document.getElementById(ed.id + '_ifr'); 
      iframe.style.height = new_val; 
     }); 
    } 
}); 
+0

うーん、私はこの作業を取得することができないように(両方のフィールドはまだ同じ高さ)。新しいTinyMCEのサンプルページを使用しました:http://bit.ly/GS6FBK – Ryan

+0

hmmm、私のページと完璧に動作します - エラーが見つかりました。コードを変更しました - これをチェックしてください(onInitの代わりにonClickを持っています) – Thariama

+0

私は更新されたコードを使用して、現在のテキストエリアはTinyMCEを持たず、入力も30pxではありません。私は何か間違っているのですか? http://bit.ly/GS6FBK – Ryan

関連する問題