2017-05-13 6 views
0

特定のスキルの組み合わせを持つ他のユーザーを検索できるようにするアプリを構築しようとしています。どのスキルをチェックボックスで選択するかをユーザーに尋ねますが、自分の機能でそのチェックボックスのステータスを要求する方法はわかりません。チェックボックスに含まれる情報に基づいてnodeJSでgetクエリを作成するにはどうすればいいですか

My機能は、現在、次のとおりです。

UserInfo.find() 
     .where('skill1').equals('') 
     .where('skill2').equals('') 
     .where('skill3').equals('') 
     .limit(10) 
     .then(function(doc) { 
     res.render('index', {items: doc}); 
     }); 

それはtrueまたはfalseに(「」)私は等号を設定した場合、正常に動作しますが、私はそれを動的に設定するかどうかはわかりません。チェックボックスのための私のHTMLコードは次のとおりです。

<form action="/getskills" method="get"> 
     <div class="input"> 
      <label for="skill1">Skill1</label> 
      <input type="checkbox" id="skill1" name="skill1" value="skill1"/> 
     </div> 
     <div class="input"> 
      <label for="skill2">Skill2</label> 
      <input type="checkbox" id="skill2" name="skill2" value="skill2"/> 
     </div> 
     <div class="input"> 
      <label for="skill3">Skill3</label> 
      <input type="checkbox" id="skill3" name="skill3" value="skill3"/> 
     </div> 
    <a href="/getskills">FIND SKILL</a> 
    </form> 

どのように作成し、チェックボックスの値をチェックし、trueまたはfalseのいずれかに必要なスキルの値を設定する機能を統合することができますか?

ご協力いただきありがとうございます。

答えて

0

<input type="submit">ではなく、サーバーに要求を実行するために<a>要素を使用しているという問題があります。送信ボタンがなければ、フォームの要素は要求とともに送信されません。あなたのNode.jsのコードで、この

<form action="/getskills" method="get"> 
 
    <div class="input"> 
 
    <label for="skill1">Skill1</label> 
 
    <input type="checkbox" id="skill1" name="skill1" value="skill1" /> 
 
    </div> 
 
    <div class="input"> 
 
    <label for="skill2">Skill2</label> 
 
    <input type="checkbox" id="skill2" name="skill2" value="skill2" /> 
 
    </div> 
 
    <div class="input"> 
 
    <label for="skill3">Skill3</label> 
 
    <input type="checkbox" id="skill3" name="skill3" value="skill3" /> 
 
    </div> 
 
    <input type="submit" value="FIND SKILL" /> 
 
</form>

にあなたのhtmlを修正(私はあなたが急行使用していると仮定)、次のように、クエリパラメータとしてチェックボックスの値を取得することができます。

//I'm assuming the req parameter is passed in to the express get() method 
 
UserInfo.find() 
 
     .where('skill1').equals(req.query.skill1) 
 
     .where('skill2').equals(req.query.skill2) 
 
     .where('skill3').equals(req.query.skill3) 
 
     .limit(10) 
 
     .then(function(doc) { 
 
     res.render('index', {items: doc}); 
 
     });

+0

ありがとうございます!できます!とても有難い! – chopnfat

関連する問題