Tinymce获得内容

时间:2015-07-17 11:57:35

标签: javascript jquery tinymce

我尝试获取tinymce的内容,如下所示:

Uncaught TypeError: Cannot read property 'getContent' of null

但每次收到此消息:

var center = new google.maps.LatLng(53.42263, -7.9541);
var latlngbounds = new google.maps.LatLngBounds( );

var map = new google.maps.Map(document.getElementById('map_canvas'), {
    center: new google.maps.LatLng( 53.42263, -7.9541 ),
    zoom: 7,
    mapTypeId: google.maps.MapTypeId.ROADMAP
});

var clusters = [];
var oms = new OverlappingMarkerSpiderfier(map);
var iw = new google.maps.InfoWindow();

var spiderIcon = new google.maps.MarkerImage (
    'http://www.irishcottageholidays.com/images/cottage1.png',
    new google.maps.Size(32,32),
    new google.maps.Point(0,0),
    new google.maps.Point(16,20)
)

oms.addListener('click', function(marker, event) {
    load_content(map, marker, iw, marker.id)
});

oms.addListener('spiderfy', function(markers) {
    for(var i = 0; i < markers.length; i ++) {
      markers[i].setIcon(spiderIcon);
    }
    iw.close();
});

for (var i = 0; i < data.locations.length; i++) {

    var dataPhoto = data.locations[i];

    var latLng = new google.maps.LatLng(dataPhoto.latitude,dataPhoto.longitude);

    latlngbounds.extend( latLng );

    var marker = new google.maps.Marker({
        position: latLng,
        icon: 'http://www.irishcottageholidays.com/images/cottage1.png',
        map: map,
        id: dataPhoto.mID,
        title: dataPhoto.name
    }); 

    clusters.push(marker);
    oms.addMarker(marker);
}

var mcStyles = [
    {
        textColor: 'deeppink',
        textSize: 18,
        anchor: [17,0],
        url: '/assets/cms/images/cottage_cluster.png',
        height: 50,
        width: 50
    }
]

var mcOptions = {
    styles: mcStyles,
    gridSize: 5,
    maxZoom: 15
}

var markerCluster = new MarkerClusterer(map, clusters, mcOptions);

map.fitBounds( latlngbounds );

我正在使用tinymce 4.

谢谢

2 个答案:

答案 0 :(得分:4)

您可以通过以下方式调用方法triggerSave来获取tinyMCE内容

tinyMCE.triggerSave();

声明此方法后,您可以通过选择器获取内容,例如: -

var contents = $("#myTextArea").val();

var contents = tinyMCE.get('myTextArea').getContent();

答案 1 :(得分:3)

Cannot read property 'getContent' of null通常意味着TinyMCE无法找到您的文本框,这意味着对textarea class的引用中存在错误。

<form method="post" action="somepage">
    <textarea id="myTextArea" class="mceEditor">I should buy a boat. </textarea>
</form>

<button onclick="content()">Get content</button>

注意mceEditor课程,我们现在将通知TinyMCE编辑:

<script type="text/javascript">

    tinyMCE.init({
        mode : "specific_textareas",
        editor_selector : "mceEditor"   //<<<---- 
    });

</script>

现在只需点击按钮即可获取该文本框的内容。

function content() {
    alert(tinyMCE.get('myTextArea').getContent());
}

这是 DEMO