2010-08-28 117 views
0

我使用django模板动态生成带有隐藏输入的表单,应该在单击某个关联的文本标签时提交这些表单。问题是我无法让它工作。使用表单名称在javascript中提交表单

{% 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错误:未捕获的类型错误:无法调用空的“提交”

我也试着提交使用

document.forms[tag].submit(); 

(改变form表单名称标签),但收到几乎相同的错误,但与'未定义',而不是空。

在第二个示例中,它看起来像javascript函数试图将'tag'解释为整数。如果我确实使用了一个整数,它可以正常工作。我可以使用forloop.counter来首先生成表单,但这很丑陋,代码难以维护。

是否有任何其他,功能,在表单上调用submit()方法?

回答

1

行情:

<a href="javascript: remove_tag('{{ tag }}')">{{ tag }}</a> 

的“标签”的值必须正确引用的JavaScript片段是语法正确。

+0

太容易了;)谢谢! – aspartame 2010-08-28 22:42:49