2010-08-28 28 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