Reputation: 449
With a handlebar home.handlebars that has this dropdown menu for gender as part of the registration form...
<form id="register-modal" class="ui modal form" method="post" action="/register">
<div class="field">
<label>Username</label>
<input type="text" name="username" placeholder="Username">
</div>
<div class="field">
<div class="two fields">
<div class="field">
<label>Age</label>
<input type="text" name="age">
</div>
<div class="field">
<label>Gender</label>
<select class="ui fluid dropdown">
<option value="male">Male</option>
<option value="female">Female</option>
<option value="non-binary">Non-binary</option>
</select>
</div>
</div>
</div>
<div class="field">
<label>Email Address</label>
<input type="text" name="email" placeholder="Email Address">
</div>
<div class="field">
<label>Password</label>
<input type="password" name="password" placeholder="Password">
</div>
<center><button class="ui button" type="submit">Submit</button></center>
</form>
I have a function that creates a new user object like this...
function user(name, pass) {
return {
name: name,
pass: pass
};
}
Here is how I'm retrieving the information from the form. This is routes.js
:
router.post('/register', (req,res) => {
var name = req.body.username;
var pass = req.body.password;
var email = req.body.email;
if (!name || !pass || !email ) {
res.redirect('registration?code=fail');
} else{
db.insertUser(creations.user(name,pass,email,false),(user) => {
if(user){
db.login(user,(sessionID)=>{
res.cookie('sessionID', sessionID);
res.redirect('/feed');
})
} else res.redirect('registration?code=IU');
})
}})
Upvotes: 0
Views: 4165
Reputation: 449
I figured it out. To grab the selected value from the dropdown, I just call:
var gender = req.body.gender
Upvotes: 1