如何使用ejs获取节点js中复选框的值?

时间:2017-08-07 06:49:48

标签: javascript node.js checkbox ejs formidable

我的代码:

Html文件:

import seaborn as sns
sns.set(style="ticks")
exercise = sns.load_dataset("exercise")
g = sns.factorplot(x="time", y="pulse", hue="kind", data=exercise)

NodeJs中的输出控制台:

<form action="/form" method="post" enctype="multipart/form-data">
       Name: <input type="text" name="name" /><br>
       Email: <input type="email" name="email" /> <br>
       Age: <input type="number" name="age" /> <br>
       Address: <textarea name="address" rows="10" cols="15"> </textarea><br>
       Category: <select name="cat">
                   <option value="1">Php</option>
                   <option value="2">NodeJs</option>
                   <option value="3">jQuery</option>
                 </select><br>
       Gender: <input type="radio" name="gen" value="m"/> Male
               <input type="radio" name="gen" value="f"/> Female
       Hobby:   <input type="checkbox" name="hob[]" value="cri"/> cricket
                <input type="checkbox" name="hob[]" value="fot"/> football
                <input type="checkbox" name="hob[]" value="swi"/> swimming
   <input type="submit" value="Submit">
</form>  

我正在使用强大的文件上传,它提供了字段和文件选项。 现在所有上述字段在提供数据时都给出了正确的输出,除了我不知道如何或如何获得输出的复选框。

得到上面的输出我刚刚输入 - &gt; { name: 'My name', email: 'myname@xyz.co', age: '23', address: 'xyz loaacation pqr city ', cat: '1', gen: 'm', 'hob[]': 'cri' } ;
你可以通过ex: - console.log(fields)访问一个房产。但它不适用于复选框。

我想要的是获取要显示给用户的复选框值。复选框可以选择多个值。

谢谢。

3 个答案:

答案 0 :(得分:0)

您可以使用括号表示法fields['hob[]']来访问它。

答案 1 :(得分:0)

Sample form:
<!-- RADIO BUTTONS -->
   <p>
      <input class="with-gap" type="radio" name="gender" id="male" value="M" checked>
      <label for="male">Male</label>
   </p>
   <p>
       <input class="with-gap" type="radio" name="gender" id="female" value="F">
      <label for="female">Female</label>
   </p>

    <button type="submit" class="btn ">Sign up</button>

要从复选框中提取我们的值,我们可以通过 req.body.gender 完成,M / F的值将存储在人员对象中

 let person = {
  gender: req.body.gender 
  }

答案 2 :(得分:0)

.ejs文件中,我们将关注

<form action="/addhobby" method="POST">
   <div class="form-group">
        <h5>Hobbies</h5>
        <input type="checkbox" id="hobby" name="stuhobbies" value="sing"/> &nbsp;&nbsp;<strong>Sing</strong>&nbsp;&nbsp;
        <input type="checkbox" id="hobby" name="stuhobbies" value="guitarplay"/>&nbsp;&nbsp;<strong>GuitarPlay</strong>&nbsp;&nbsp;
        <input type="checkbox" id="hobby" name="stuhobbies" value="cricket"/>&nbsp;&nbsp;<strong>Cricket</strong>&nbsp;&nbsp;
        <input type="checkbox" id="hobby" name="stuhobbies" value="football"/>&nbsp;&nbsp;<strong>Football</strong>&nbsp;&nbsp;
  </div>
<button type="submit" class="btn btn-primary btn-md">
    Add
</button>

现在在操作或路由处理文件中,我们将执行以下操作。

const router = express.Router();
router.post('/addhobby', ensureAuthenticated,(req, res) => {    
    const { stuhobbies } = req.body;
    console.log(stuhobbies);
});