2016-05-31 4 views
0

извините, если заголовок вводит в заблуждение.Уникальный идентификатор в html для генерации кнопок

У меня возникла следующая проблема. Я создаю несколько строк в HTML, используя Genshi. Для каждой строки у меня есть кнопка в конце строки для целей удаления.

код выглядит следующим образом:

тип
<form action="/deleteAusleihe" method="post">  
<table> 
    <tr> 
    <th>ID</th> 
    <th>Person</th> 
    <th>Buch</th> 
    <th></th> 
    </tr> 

<tr py:for="v in verleihen"> 
    <input type = "hidden" value="v.id" name="toDelete"/> 
      <td py:content="v.id">Vorname der Person</td> 
      <td py:content="v.kundeID">Name der Person</td> 
      <td py:content="v.buchID">Straße der Person</td> 
      <td> 
      <input type="submit" name="submit" value="Löschen"/> 
      </td> 
      <br/> 
</tr> 
</table> 
</form> 

вход = «скрытый» должен хранить значение каждого идентификатора, так что я в состоянии идентифицировать строку позже.

Когда я пытаюсь удалить сейчас и давайте предположим, что у меня есть 2 строки, я получаю 2 id как paramater, что логично для меня, но я не знаю, как его решить.

Функция deleteAusleihe выглядит следующим образом:

@expose() 
def deleteAusleihe(self,toDelete,submit): 
    Verleih1 = DBSession.query(Verleih).filter_by(id=toDelete) 
    for v in Verleih1: 
     DBSession.delete(v) 
     DBSession.flush() 
     transaction.commit() 
    redirect("/Verleih") 

Заранее спасибо за вашу помощь!

+1

Попробуйте повторить

вместо , u получит один идентификатор. С помощью которого вы можете создать транзакцию для удаления записи. – 3bu1

+0

Вы, это сработало. Большое спасибо! – Ron

ответ

2

Проблема заключается в том, что все скрытые входы внутри элемента <form> будут отправлены сразу.

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

+0

Вы, это сработало. Большое спасибо! – Ron

1
<table> 
    <tr> 
    <th>ID</th> 
    <th>Person</th> 
    <th>Buch</th> 
    <th></th> 
    </tr> 

<tr py:for="v in verleihen"> 
<form action="/deleteAusleihe" method="post"> 
    <input type = "hidden" value="v.id" name="toDelete"/> 
      <td py:content="v.id">Vorname der Person</td> 
      <td py:content="v.kundeID">Name der Person</td> 
      <td py:content="v.buchID">Straße der Person</td> 
      <td> 
      <input type="submit" name="submit" value="Löschen"/> 
      </td> 
      <br/> 
</form> 
</tr> 
</table> 
</form> 

Вот код.