2017-08-13 11 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

私はパグについて知らないけど、カードごとに1つのカードしか選択できないという意味です。フォームを1つだけ使用し、各カードに属性「名前」を使用することをお勧めします。

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

は、前の選択に対応し、あなたはそれに対処することができます:

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

コードをありがとうございました!残念ながら、私はPHPに精通していない、私はノード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 .then(関数(){ \t \t res.redirect( '/再生') \t}) }) –

+0

アルスo、チェックボックスの送信ボタンを追加するのを忘れて、自分のコードに追加しました。 –

+0

問題はあなたのhtmlにあり、1つのフォームを使用して、リクエストオブジェクトからデータを取得するときにリダイレクトに含めることができます。 –

0

form Aを作る

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 

その後、フォームがsubmitteあるときには、配列を持っていますすべてのカードのラッパー。 のnamecards[]のように変更し、各カードの値を変更します(IDなどを特有のものに置き換えます)。フォームを提出すると、一連のカードが手に入ります。 cards paramには、選択したカードのIDが入力されます。

関連する問題