CodeMirror при сбое изменений

1

Я создаю два экземпляра зеркального отображения кода из текстовых областей в моей форме, и мне нужно, чтобы скрытые области текста обновлялись перед отправкой. Я добавил к событию изменения сценарию, но он, похоже, не работает.

может ли кто-нибудь помочь? Спасибо

<script type="text/javascript"> 
    function editor(id) {
            var editor = CodeMirror.fromTextArea(id, {
                continuousScanning: 500,
                lineNumbers: true
            });
            editor.setSize(900, 600);
        }
    var config_id = document.getElementById('id_config')
    var config = editor(config_id);
    var remote_config_id = document.getElementById('id_remote_config')
    var remote_config = editor(remote_config_id);

    config.on('change',function(cMirror){
        // get value right from instance
        config_id.value = cMirror.getValue();
    });
    remote_config.on('change',function(cMirror){
        // get value right from instance
        remote_config_id.value = cMirror.getValue();
    });
</script>
Теги:
codemirror

1 ответ

0

Вы не можете использовать событие change для этого: CodeMirror прослушивает изменения скрытой текстовой области, поэтому изменение значения приведет к срабатыванию другого события change. Это может привести к бесконечным циклам.

В документации содержится правильный подход:

библиотека обеспечивает гораздо более мощный ярлык:

var myCodeMirror = CodeMirror.fromTextArea(myTextArea);

Это, помимо прочего, гарантирует, что значение textarea будет обновляться с содержимым редактора, когда будет отправлена форма (если она является частью формы).

Это означает, что у вас есть ошибка в коде, который вы не показывали выше. Возможно, вы используете странный способ отправки формы, поэтому CodeMirror не может заметить и обновить значение?

Один из вариантов - удалить CodeMirror в JavaScript, который отправит форму.

  • 0
    хм, глядя на это, я думаю, что это может быть мой серверный код, который не работает. когда я отправляю форму, обновление остается и страница перезагружается, однако, когда я обновляю страницу, старый контент возвращается

Ещё вопросы

Сообщество Overcoder
Наверх
Меню