2016-01-23 36 views
0

我有以下形式的重複項目:播放框架2.4:獲取按鈕的ID

@(adverts: List[models.AdvertModel]) 
@if(adverts.size() > 0 && adverts != null) { 
    @helper.form(action = routes.UserController.editAdvert()) { 
     @for((advert, index) <- adverts zip (Stream from 0)) { 
      <div>@adverts.get(index).title</div> 
      <button type="submit" name="delete" id="[email protected]">delete</button>  

     } 
    } 

與此控制器:

public Result editAdvert() { 
    String[] indices = request().body().asFormUrlEncoded().get("delete"); 
    if (indices != null) { 
     // delete advert 
     } 
    return ok(); 
} 

我希望能夠刪除按照廣告到他們的ID,但與目前的代碼我的數組包含字符串"delete"而不是即"delete_0"。 如何獲取點擊按鈕的索引?

+0

我不知道玩遊戲形式(我試圖避免HTML表單),但添加HTTP消息的問題可能會有所幫助。通常我使用我的瀏覽器devtools – Tair

回答

0

我終於明白了:

tldr:

添加value="[email protected]"到按鈕。

不再回答:

通過request().body().asFormUrlEncoded().get("delete") 返回的值保存在按鈕的value屬性與階模板name="delete"。 因此,通過在按鈕上添加value="[email protected]",我們將獲得一個字符串,例如delete_0

@danielnixon評論說,這不是一個特定於遊戲的行爲,而只是HTML格式的工作方式。

+1

這裏沒有特定的播放框架。這就是HTML表單的工作原理。見例如http://stackoverflow.com/a/2129364/2476884 – danielnixon