Отправить форму в javascript используя имя формы - PullRequest
0 голосов
/ 29 августа 2010

Я динамически генерирую формы со скрытым вводом на веб-странице с использованием шаблонов 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: Невозможно вызвать метод 'submit' из null

I 'Мы также пытались отправить форму, используя

document.forms[tag].submit();

(изменяя имя формы на тег), но получили почти такую ​​же ошибку, но с 'undefined' вместо null.

Во второмНапример, похоже, что функция javascript пытается интерпретировать тег как целое число.Если я использую целое число, это работает хорошо.Во-первых, я мог бы использовать forloop.counter, который использовался для генерации форм, но это отчасти уродливо и затрудняет поддержку кода.

Есть ли какой-либо другой, функциональный способ вызова submit ()на бланках?

1 Ответ

1 голос
/ 29 августа 2010

Котировки:

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

Значение тега должно быть правильно указано в кавычках, чтобы фрагмент кода Javascript был синтаксически правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...