$(document).ready(function()"> $(document).ready(function()"> $(document).ready(function()" />

Jquery Ajax TinyMCE

私はTinyMCEのMySQLテーブルから動的に生成されたリンクリストを持っています。これは、テーブル内のすべてのリンクを表示するOKを動作します。今私は亜科に基づいてクエリを絞り込むためにリンクのリストを生成するPHPファイルにajax経由で値を渡そうとしています:

<script type="text/javascript">
$(document).ready(function() {

$("#sub_discipline").change(function(){
    $.ajax({
      url: "../scripts/tiny_mce/lists/link_list.js.php",
      type: "post",
      data: {
sub_discipline : $('#sub_discipline').val()
},
      success: function(data){

      }
    });

});
}
);
</script>

問題は、値が渡されていない可能性があるため、リンクリストがTinyMCEに表示されていないことです。 link_list.js.phpでURL文字列の値を渡して結果を得ることができるので、何か他のことが起こっています。上のajax呼び出しが間違っているか、TinyMCEがエディタが読み込まれたときにリンクのリストをロードし、その後リストを更新できません。

参考までに、これが他人を助けることができる場合は、link_list.js.phpを使ってTinyMCEのリンクリストを作成してください:

<?php Header("content-type: application/x-javascript"); ?>

<?php
require_once('../../../connection/connect.php');
mysql_select_db($database, $connection);

$sub_discipline = $_POST['sub_discipline'];

$query = "SELECT link_title, url FROM link WHERE sub_discipline_fk = '$sub_discipline'";
$result = mysql_query($query, $connection) or die(mysql_error());

$links = array();

while($row = mysql_fetch_assoc( $result)){
     $links[$row['link_title']] = $row['url'];

}



$o = null;
$count = count($links);

$i = 1;
foreach($links as $text => $url){
    $o .= sprintf(('["%1$s", "%2$s"]'),

    $text,
    $url

    );

    if($i < $count)
    $o .= ',';
    $i++;
}

?>

var tinyMCELinkList = new Array(

<?php echo $o; ?>

);

リンクリストはtinyMCE.initのオプションとして追加されます:

<script type="text/javascript">
tinyMCE.init({
       //General options
        mode : "textareas",
        theme : "advanced",
        plugins : "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

       //Theme options
        theme_advanced_buttons1 : "print,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,formatselect,fontsizeselect,|,forecolor,backcolor",
        theme_advanced_buttons2 : "cut,copy,paste,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,fullscreen",
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,|,sub,sup,|,charmap,emotions,iespell,media,|,ltr,rtl",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,

       //Skin options
        skin : "o2k7",
        skin_variant : "silver",


       //Drop lists for link/image/media/template dialogs
        external_link_list_url : "../scripts/tiny_mce/lists/link_list.js.php",
        external_image_list_url : "js/image_list.js",
        media_external_list_url : "js/media_list.js",

});
</script>
1
nl ru de
リンクリストをどのようにしてtinymceに入れようとしていますか?
追加された 著者 Thariama,
うーん、よく見える
追加された 著者 Thariama,
編集... tinyMCE.initの設定を参照してください
追加された 著者 IlludiumPu36,

1 答え

私が正しくあなたのquestingを理解している場合は、それがテキストエリアモードで実行されているときにtinyMCEからのPOST上のデータを取得していない...

tinyMCE.triggerSave()を追加してみてください。

  $("#sub_discipline").change(function(){
      tinyMCE.triggerSave();
$.ajax({
1
追加された
ありがとうございますが、TinyMCEインスタンスの内容を保存することは問題ではありません。問題は、リストを生成するPHPスクリプトに値を渡すと外部リンクリストが更新されることです。 ajax呼び出しが間違っているか、TinyMCEがリンクリストをinitにロードしてリフレッシュできないことがあります。どちらか分かりません。リストを生成するPHPスクリプトは、私が手動でURLに値を渡すだけで問題はありません...
追加された 著者 IlludiumPu36,
あなたはちょうど私の人生を救った
追加された 著者 Teodor,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript