Javascript 如何将用户创建的复选框值传递到其他页面?

Javascript 如何将用户创建的复选框值传递到其他页面?,javascript,jquery,postgresql,pug,Javascript,Jquery,Postgresql,Pug,我有一个输入表单,用户可以在其中创建自己的卡片。数据进入PostgreSQL数据库,我在下面的页面上呈现结果。创建卡片后,我希望他们能够选择他们喜欢的卡片,并在下一页/游戏中仅显示这些选定的卡片 我的代码我使用帕格: div(id="all-cards") div(class='card') each card in cards p Title: #{card.title} p Question: #{card.questi

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

我的代码我使用帕格:

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

我该怎么办呢?

我不知道帕格的情况,但似乎每张卡都有一个表单,这意味着你一次只能选择一张卡。我建议您只使用一个表单,并为每张卡使用属性名称

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

我不知道帕格的情况,但似乎每张卡都有一个表单,这意味着你一次只能选择一张卡。我建议您只使用一个表单,并为每张卡使用属性名称

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

把表格做成所有卡片的包装纸。将复选框的名称更改为类似cards[]的名称,并更改每个card的值,将ID或一些独特的内容放入其中。当你提交表格时,你会得到一系列卡片。cards参数将用所选卡的id填充

将表单作为所有卡片的包装。将复选框的名称更改为类似cards[]的名称,并更改每个card的值,将ID或一些独特的内容放入其中。当你提交表格时,你会得到一系列卡片。cards参数将用所选卡的id填充

谢谢你的代码!不幸的是,我不熟悉php,我使用的是NodeJS。在Node.js:app.post'/cards',functionreq,res{var card=card.id card.findAll{where:{id:card.id}}。然后function{res.redirect'/play'}还有,我忘了添加复选框的提交按钮,把它添加到了我的代码中。问题在你的html中,使用一个表单,然后,当您从请求对象检索数据时,可以将其包含在重定向中。我接受了您建议的代码,但现在我的Node.js中出现了问题,因为post请求是错误的。。。无法读取undefinedinputtype=复选框值={card.id}title=选择名称={card.id}的属性“id”。为什么?提交http请求时,将为每个选中的元素创建一个变量name=value&。。。所以你必须专注于你的名字。一旦解析后得到查询对象,即:url.parsereq.url.query感谢您的代码!不幸的是,我不熟悉php,我使用的是NodeJS。在Node.js:app.post'/cards',functionreq,res{var card=card.id card.findAll{where:{id:card.id}}。然后function{res.redirect'/play'}还有,我忘了添加复选框的提交按钮,把它添加到了我的代码中。问题在你的html中,使用一个表单,然后,当您从请求对象检索数据时,可以将其包含在重定向中。我接受了您建议的代码,但现在我的Node.js中出现了问题,因为post请求是错误的。。。无法读取undefinedinputtype=复选框值={card.id}title=选择名称={card.id}的属性“id”。为什么?提交http请求时,将为每个选中的元素创建一个变量name=value&。。。所以你必须专注于你的名字。一旦解析后得到查询对象,即:url.parsereq.url.query