2010-07-27 21 views
3

J'utilise l'éditeur HTML AJAX Control toolkit et j'espère avoir une question simple. Comme l'indique le titre de la question - comment obtenez-vous/définissez-vous le contenu de l'éditeur HTML via javascript?Comment obtenir/définir du contenu via javascript avec AJAX Control Toolkit HTML Editor?

Je n'ai aucun problème pour accéder à la propriété de contenu côté serveur - mais comment le faire côté client?

Toute aide reçue avec gratitude! L'éditeur Html est l'un des contrôles uniques de la boîte à outils Ajax Control car il n'hérite pas du côté AjaxControlToolkit.ExtenderControlBase (côté serveur) ni du côté client AjaxControlToolkit.BehaviorBase (côté client).

Répondre

8

Donc, vous ne pouvez pas utiliser la méthode javascript $find pour accéder à l'instance de comportement sur le client, il hérite AjaxControlToolkit.ScriptControlBase (côté serveur) et Sys.UI.Control (côté client).

Pour accéder à contrôler par exemple sur le client, vous utilisez la propriété de contrôle sur l'élément DOM il auto comme suit:

<script type="text/javascript"> 
//considering the editor is loaded. 
var editorControl = $get("<%=editor.ClientID%>").control; 

//1. For setting content: 
editorContorl.set_content("Sample Content"); 

//2. For getting content: 
var content = editorContorl.get_content();  
</script> 
+0

Parfait - merci! –

+0

Si simple, et si utile ... merci – void

0
$(function(){ 
    $find("editor").set_content("jQuery set content"); 
    alert($find("editor").get_content()); 
}); 
0

Au-dessus, les réponses ne fonctionne pas pour moi. J'ai donc dû creuser à travers html et ai eu la suite de la solution de travail. Son fonctionnement depuis des années maintenant et a survécu à de nombreux mise à jour/mise à jour de framework/OS/navigateurs.

<script type="text/javascript"> 
    var varcont = '<%=txtInstructions.ClientID %>' + '_ctl02_ctl00'; 
    //Get Content 
    var content = document.getElementById(varcont).contentWindow.document.body.innerHTML; 

    //Set Content 
    document.getElementById(varcont).contentWindow.document.body.innerHTML='<b>I rock</b>' 
</script>