Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 访问Django模板{%url%}内的HTML表单元素_Javascript_Jquery_Python_Html_Django - Fatal编程技术网

Javascript 访问Django模板{%url%}内的HTML表单元素

Javascript 访问Django模板{%url%}内的HTML表单元素,javascript,jquery,python,html,django,Javascript,Jquery,Python,Html,Django,我有一个带有的Django HTML模板。我想用表单字段的值替换参数。Django对此有任何规定吗 url.py ... url(r'^sample-endpoint/$', view_function_1, name='endpoint1'), url(r'^sample-endpoint/(\d+)/$', view_function_1, name='endpoint2'), ... 当页面第一次加载时,将命中第一个示例端点/。该页面有一个输入(一个数字)。选择一个数字并单击一个按钮后,

我有一个带有
的Django HTML模板。我想用表单字段的值替换
参数
。Django对此有任何规定吗

url.py

...
url(r'^sample-endpoint/$', view_function_1, name='endpoint1'),
url(r'^sample-endpoint/(\d+)/$', view_function_1, name='endpoint2'),
...
当页面第一次加载时,将命中第一个
示例端点/
。该页面有一个输入(一个数字)。选择一个数字并单击一个按钮后,将调用第二个按钮,例如
sample endpoint/1/
,并使用一些附加数据呈现相同的页面

catalog.html

<form id='get-list' name='get_list_form' method='get' 
      action='{% url "endpoint2" placeholder %}'>
    {% csrf_token %}
    <select id='select-catalog-id' name='catalog_id'>
        <option value='1'>Foo</option>
        <option value='2'>Bar</option>
    </select>
</form>

{%csrf_令牌%}
福
酒吧
我不想使用request.GET['catalog\u id']在服务器端获取
views.py
中的值。我觉得有两个URL看起来很干净。而且,这两个URL都是用于GET请求的

我的目标是使用下拉列表中所选项目的值(本例中为1或2),而不是表单操作中的
占位符。在Django是开箱即用的吗?或者一些自定义JavaScript?

您可以使用

{% if form.field.value %} value="{{ form.field.value }}" {% endif %} placeholder="{{ description }}"

这不是Django能做的任何事情。
{%url%}
标记在渲染时解析,远远早于用户选择值。你必须写一些JS。我知道这不是shar想要的答案,这对他毫无帮助。但是,这正是我找到这篇文章时所寻找的答案。我想,如果其他人使用与我相同的搜索词,并来到这篇文章,他们至少会在这里找到我的解决方案,而不会绝望地寻找其他地方。