2017-08-13 92 views
1

我有一個輸入表單,用戶創建自己的「卡片」。數據發送到PostgreSQL數據庫,並將結果呈現在頁面上(請參見下文)。創建卡片後,我希望他們能夠選擇他們喜歡的卡片,並在下一頁(/播放)中僅顯示這些選定的卡片。如何將用戶創建的複選框值傳遞給另一個頁面?

Customized cards

我的代碼(我用哈巴狗):

div(id="all-cards") 
    div(class='card') 
     each card in cards 
      p Title: #{card.title} 
      p Question: #{card.question} 
      p Subquestion: #{card.subquestion} 
      p Task: #{card.task} 

      form(name="selection" action="" method="post") 
       input(type="checkbox" value="card" title="Select" name="option") 
       label Select 
       button(type="submit" name="select" class="select-cards") Select The Cards 

我應該如何去嗎?

回答

0

我不知道帕格,但似乎你有每張卡的形式,這意味着你只能在一次選擇一張卡。我建議你只使用一種形式,併爲每張卡使用一個屬性「名稱」。

div(id="all-cards") 
    div(class='card') 
     form(name="selection" action="" method="post") 
     each card in cards 
      p Title: #{card.title} 
      p Question: #{card.question} 
      p Subquestion: #{card.subquestion} 
      p Task: #{card.task} 

      input(type="checkbox" value="1" title="Select" name="#{card.id}") 
      label Select 

然後,當表單提交簽證,你將有一個數組:

$_POST['id1' => 1,... idn => 1] 

與之前選擇相應的,你可以解決它:

foreach($_POST = $key => $value){ 
    $selected[] = $key; 
} 
+0

謝謝你的代碼!不幸的是,我不熟悉php,我使用Node js。難道是這樣的Node.js的:app.post( '/卡',函數(REQ,RES){ \t VAR卡= card.id \t \t Card.findAll({ \t \t其中:{ \t \t \t ID:card.id \t \t} \t}) \t。然後(函數(){ \t \t res.redirect( '/播放') \t}) }) –

+0

酸溶o,我忘了添加複選框的提交按鈕,將它添加到我的代碼中。 –

+0

問題出在你的html中,使用一種形式,然後,當你從請求對象中檢索數據時,你可以將它包含在你的重定向中。 –

0

充分利用form一個所有卡片的包裝。將checkbox es的name更改爲cards[]之類的內容,然後更改每張卡片的值(將ID或特殊字符)。當你提交表格時,你會得到一系列的卡片。 cards參數將填充選定卡的ID。

相關問題