2016-05-10 3 views
1

Я сгенерировал кнопку удаления html динамически, чтобы добавить в конце каждой строки таблицы в зависимости от входящих данных. Кнопки создаются и добавляются в конце каждого, чтобы удалить этой конкретной строки. Помимо таблицы, на странице есть также форма с кнопкой отправки в конце. Кнопки, которые появляются при загрузке страницы, почему-то вызывают событие post для проверки формы на странице. Когда я добавляю новую строку в таблицу динамически, кнопка удаления работает нормально, чтобы удалить строку, но когда я обновляю ее, она работает как обычная кнопка отправки. Я не могу понять, почему он ведет себя странно таким образом. Любая помощь будет принята с благодарностью. Вот мой html.динамически сгенерированные кнопки html не работают при загрузке страницы

.html

<tbody> 
    {% for item in items %} 
    <tr> 
     <form action="{% url 'newitem' %}" role="form" method="post"> 
      {% csrf_token %} 
      <th> {{ item.id }} <input type="hidden" name="item_id" value="{{ item.id }}" > </th> 
      <td> {{ item.Name }} </td> 
      <td> 
       {% buttons %}         
        <input type="submit" name="action" value="Delete" class="btn btn-danger btn-xs" style="width: 50px" />       
       {% endbuttons %} 
      </td> 
     </form> 
    </tr> 
    {% endfor %} 
</tbody> 
+0

Вы пытались предоставить имя и идентификатор, уникальные для каждой формы? Кроме того, убедитесь, что у вас нет [форм в формах] (http://stackoverflow.com/questions/555928/is-it-valid-to-have-a-html-form-inside-another-html-form) – Esten

+0

Я пытался избежать использования форм внутри форм, но по какой-то причине, хотя эти кнопки находятся в родительской форме, они не работают без тега формы. Кроме того, обе формы отправляют один и тот же метод просмотра. Для этого я не знаю никакой работы. Я понятия не имею, почему эти кнопки не работают без тега формы вокруг них. – hermy67

+0

Я просто удалил несколько тегов формы, но это совсем не помогло. Кнопки загрузки страницы проверяют форму и не удаляют строки, как ожидалось. После добавления строки из формы новая кнопка ведет себя нормально. Я не знаю, почему кнопки на загрузке страницы проверяют форму на странице. – hermy67

ответ

0

Django вызывает проверку формы на каждый отправить кнопку мыши. Отключение кнопки удаления для выполнения проверки формы решило мою проблему. Я добавил атрибут «formnovalidate» для тега кнопки «Удалить», и это сработало волшебство!

{% buttons %}         
<input type="submit" name="action" value="Delete" class="btn btn-danger btn-xs" formnovalidate />       
{% endbuttons %} 
Смежные вопросы