【发布时间】:2026-02-01 02:10:01
【问题描述】:
我正在使用 django 模板在网页中动态生成带有隐藏输入的表单,当点击一些相关的文本标签时应该提交这些表单。问题是我无法让它工作。
{% for tag in tags %}
<form name="remove_{{ tag }}" id="{{ tag }}" action="/filter" method="post" accept-charset="utf-8">
<input type="hidden" name="remove_tag" value ="{{ tag }}" />
</form>
<a href="javascript: remove_tag({{ tag }})">{{ tag }}</a>
{% endfor %}
<script type="text/javascript">
function remove_tag(tag) {
document.getElementById(tag).submit();
return false;
}
</script>
此代码生成以下 javascript 错误:Uncaught TypeError: Cannot call method 'submit' of null
我也尝试过使用
提交表单document.forms[tag].submit();
(将表单名称更改为标记),但收到几乎相同的错误,但使用 'undefined' 而不是 null。
在第二个示例中,javascript 函数似乎试图将 'tag' 解释为整数。如果我确实使用整数,它可以正常工作。我可以首先使用用于生成表单的 forloop.counter,但这有点难看,并且使代码更难维护。
还有其他在表单上调用 submit() 的有效方式吗?
【问题讨论】:
标签: javascript html django forms