jeditable loadurl: ссылка на идентификатор CSS или просто передача переменных по мере необходимости

У меня есть это на моей странице:

$('.editable-question').editable('{{my_identifier}}/form_item/edit',{
                    //loadurl: 'example/restful/url/in/app/{{???????????????}}',
                    type   : 'textarea',
                    cancel : 'Cancel',
                    submit : 'OK',                  
                    name   : 'edit_this',
                  });

Я использую jeditable, в приложении Flask внутри шаблона jinja. Проблема в том, что мне нужно передать информацию в "loadurl" для получения неформатированного текста уценки, но я понятия не имею, как получить что-то из css в этот оператор loadurl:

<div id="f4d629f9f0" class="editable-question" style="">
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p>
</div>

В этом случае я хочу получить идентификатор CSS в {{????????}}. Как это обычно делается? Похоже на общий вопрос, но у меня еще нет ни одного поднятого вопроса или ответа. Полагаю, больше.

Менее острая проблема заключается в том, что в какой-то момент мне нужно будет удалить мои js из шаблонов jinja, но я не уверен, каким образом я получаю нужные мне переменные на страницу, а затем в js: я предполагаю скрытые элементы и / или URL-ссылка, что JS захватывает переменные по мере необходимости.

редактировать:

Я закончил с чем-то вроде:

$('.editable-question').editable('/form_item/edit',{
                    id: 'my_id',
                    loadurl: 'node',
                    type   : 'textarea',
                    cancel : 'Cancel',
                    submit : 'OK',                  
                    name   : 'edit_this',
                  });

и my_id передается в качестве параметра url (?my_id={{css id}})) с помощью jeditable, но это выглядит грязно, я бы предпочел спокойный URL, но мне нужно просто сделать так, чтобы двигаться дальше.

1 ответ

Я не знаю, правильно ли я понимаю ваши вопросы? Но я придумал три ответа:

1) Если вы включите свой js в шаблон HTML, jinja может отобразить HTML и js. Для jinja не имеет значения, какие данные находятся в шаблоне HTML, TXT, CSS или JS.

2) Вы можете передать свои переменные в скрытые поля вашего HTML-шаблона и использовать манипуляции с dom (например, jquery), чтобы получить переменные из dom.

3) Вы можете включить небольшой JavaScript в ваш HTML, который содержит только функцию с переменными. В ваших внешних файлах JavaScript вы можете получить доступ к этим функциям, чтобы получить переменные.

Чтобы получить представление, вот часть шаблона HTML для настройки редактора codemirror и использования jinja в HTML и встроенном js:

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" href="/jinjacms/static/jinjacms.css"> 
<link type="text/css" rel="stylesheet" href="/codemirror/lib/codemirror.css">
<link type="text/css" rel="stylesheet" href="/codemirror/theme/rubyblue.css">
<script type="text/javascript" src="/codemirror/lib/codemirror.js"></script>
<script type="text/javascript">
function editor(id)
{
        CodeMirror.fromTextArea(document.getElementById(id), {
        theme: "rubyblue", 
        lineNumbers: true, 
        mode: {{ mode }},
        {% if readonly %}readOnly: "nocursor",{% endif %} 
        tabSize: 4,
        indentUnit: 4,
        indentWithTabs: true,
        tabMode: "shift"
      });
}
</script>
<style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
<title>{{ title }}</title>
</head>
<body onload="editor('text_data');">
Другие вопросы по тегам