2015-02-20 20 views
6

Sto usando la versione di SugarCRM 6.5.x CE. Voglio fare una funzionalità dipendente dove ho un campo a tendina con l'elenco del nome del modello di email. E secondo la selezione del modello di email, textarea dovrebbe essere riempita con il testo del corpo del modello di email. Quindi, ho raggiunto il risultato.Come creare un'area di testo dipendente di stagno in base alla selezione del nome del modello di email?

Ora, invece di normale area di testo, voglio mostrare questo testo del corpo in textarea editor di tinymce. Ora, io ho "convertire" il mio textarea in TinyMCE editor di textarea passando attraverso questo URL How to convert textarea into tinymce editor

Ora, quando ho scelto modello e-mail dal campo a discesa, questo TinyMCE textarea non riempie con rispettivo corpo del testo.

Questo è il mio javascript per textarea normale, e il suo funzionamento

function display_text(){ 
    if(typeof(document.getElementsByName('email_template_c')[0].value) != "undefined"){ 
     var custom_data = document.getElementsByName('email_template_c')[0].value; 
     if(custom_data != ''){ 
      $.ajax({ 
       url:'index.php?entryPoint=check_email_template_subject', 
       data:{new_custom_data: custom_data}, 
       success: function(data){ 
        if(data!= ''){ 
         document.getElementsByName("email_template_body_c")[0].value = data; 
         SUGAR.util.callOnChangeListers(document.getElementsByName("email_template_body_c")[0]); 
        }else{ 
         document.getElementsByName("email_template_body_c")[0].value = ''; 
         SUGAR.util.callOnChangeListers(document.getElementsByName("email_template_body_c")[0]); 
        } 
       } 
      }); 
     }  
    } 
} 

Questo è il mio codice per l'editor TinyMCE textarea che non sta funzionando

function display_text(){ 
    if(typeof(document.getElementsByName('email_template_c')[0].value) != "undefined"){ 
     var custom_data = document.getElementsByName('email_template_c')[0].value; 
     if(custom_data != ''){ 
      $.ajax({ 
       url:'index.php?entryPoint=check_email_template_subject', 
       data:{new_custom_data: custom_data}, 
       success: function(data){ 
        if(data!= ''){ 
         $("p").parent(".mceContentBody").val(data); 
         SUGAR.util.callOnChangeListers($("p").parent(".mceContentBody").val(data)); 
        }else{ 
         $("p").parent(".mceContentBody").val(); 
         SUGAR.util.callOnChangeListers($("p").parent(".mceContentBody").val()); 
        } 
       } 
      }); 
     }  
    } 
} 

dove questa ajax ottiene i dati da questo check_email_template_subject. file php

<?php 
    global $db; 

    if($_REQUEST['new_custom_data'] != null){ 
     $template_id = urldecode($_REQUEST['new_custom_data']); 
     $query1 = "SELECT body FROM email_templates WHERE id = '$template_id'"; 
     $result1 = $db->query($query1); 
     $row1 = $db->fetchByAssoc($result1); 
     echo $row1['body']; 
    }  
?> 

E questo è il codice html di editor di tinymce te xarea,

<html> 
<head xmlns="http://www.w3.org/1999/xhtml"> 
<meta http-equiv="X-UA-COMPATIBLE" content="IE=7"> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
</head> 
<body dir="ltr" id="tinymce" class="mceContentBody" contenteditable="true"> 
<p>//Here should come email template body text 
<br> 
</p> 
</body> 
</html> 

risposta

1

Uso setContent metodo Editor attivo nella TinyMCE

si supponga di avere valore come

var txtVal = $(".dropdown").val(); // dropdown value 

//set value as in your active tinyMCE's textarea editor 

tinyMCE.activeEditor.setContent(txtVal); 

spero che funzionerà :)

+0

Ehi amico, funziona. Ma ora sembra un nuovo problema. Quando il testo viene mostrato nell'editor, perde la sua formattazione ... quindi per favore aiutami a mantenere la sua formattazione come era. –

+0

Invece di prendere val() prendi html come var htmVal = $ (". Dropdown option: selected"). Html(); e quindi impostare il contenuto come tinyMCE.activeEditor.setContent (htmVal); Funzionerà :) – Mazzu

+0

Ehi, ottengo questi dati dal file php. Questo codice ho menzionato sopra. Per favore guidami come e cosa apportare modifiche nel codice sopra. Perché non sto ottenendo dove aggiungere '.html()'. –