如何将用户创建的复选框值传递给另一个页面?

时间:2017-08-13 16:03:09

标签: javascript jquery postgresql pug

我有一个输入表单,用户可以在其中创建自己的“卡片”。数据进入PostgreSQL数据库,我在页面上呈现结果(见下文)。创建卡片后,我希望他们能够选择他们喜欢的卡片,并在下一页(/ play)中仅显示这些选定的卡片。

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

我应该怎么做?

2 个答案:

答案 0 :(得分:0)

我不知道帕格,但似乎每张卡都有一张表格,这意味着你只能选择一张卡片。我建议你只使用一个表格并使用属性" name"每张卡片。

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;
}

答案 1 :(得分:0)

使form成为所有卡片的包装器。将name es的checkbox更改为cards[],并更改每张卡的值(将ID或其他内容区分开来)。提交表格时,您将获得一系列卡片。 cards参数将填充所选卡片的ID。