Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jeditable loadurl:引用css id或根据需要传入变量_Javascript_Jquery_Flask_Jinja2_Jeditable - Fatal编程技术网

Javascript jeditable loadurl:引用css id或根据需要传入变量

Javascript jeditable loadurl:引用css id或根据需要传入变量,javascript,jquery,flask,jinja2,jeditable,Javascript,Jquery,Flask,Jinja2,Jeditable,我的页面上有: $('.editable-question').editable('{{my_identifier}}/form_item/edit',{ //loadurl: 'example/restful/url/in/app/{{???????????????}}', type : 'textarea', cancel : 'Cancel',

我的页面上有:

$('.editable-question').editable('{{my_identifier}}/form_item/edit',{
                    //loadurl: 'example/restful/url/in/app/{{???????????????}}',
                    type   : 'textarea',
                    cancel : 'Cancel',
                    submit : 'OK',                  
                    name   : 'edit_this',
                  });
我在jinja模板内的烧瓶应用程序中使用jeditable。问题是,我需要将信息传递到“loadurl”以检索未格式化的标记文本,但我不知道如何从css中获取某些内容到loadurl语句中:

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

我的id被作为url参数传递?我的id={{{css id}}被jeditable传递,但它感觉脏,我更喜欢restful url,但需要做的只是让事情继续进行。

我不知道我是否理解你的问题正确?但我想出了三个答案:

1如果在HTML模板中包含js,jinja可以呈现HTML和js。对于jinja来说,模板HTML、TXT、CSS或JS中的数据类型并不重要

2您可以在HTML模板的隐藏字段中传递变量,并使用类似jquery的dom操作从dom中获取变量

3您可以在HTML中包含一个小javascript,它只包含一个带有变量的函数。在外部javascript文件中,您可以访问这些函数以获取变量

为了了解这一点,这里是HTML模板的一部分,用于配置codemirror编辑器,并在HTML和内联js中使用jinja:

<!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');">

我最初的主要问题是将css div id放入loadurl使用的url中,loadurl可能是页面上的许多url之一,如果您可以选择div f.I,我不会将它传入模板。使用鼠标或焦点事件,您可以获得当前选定元素的id。这就是你的意思吗?部分-我需要使用“loadurl”,并且我需要提供一个restful相对url“node/node_id”,其中node_id是从它所在的css id中提取出来的,例如stuff
<!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');">