Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

358
Views
Multiple submit buttons for post in Javascript/Node/EJS

So I'm learning Javascript and one of the things I'm practicing is a model view controller of sorts. Right now I have a form with multiple ejs templates, but only the first one pertains to this question.

The first is Home.ejs

<DOCTYPE html>
    <html>
        <head>
            <title> HomeTitle </title>
            <style>

                body{background: skyblue;}

            </style>
            <body>
                <p> Welcome Home</p>
                <div>
                    
                 <form id ="redirect" method="POST">
                      <input type="submit"value="SignIn" >
                      <input type="submit" value="Exit" >
                    </form>
            </body>
            <script>
            </script>
            
        </head>
    </html>

I also have a router.js that handles as the router file.

// Importing the module
const express=require("express")
var bodyParser=require('body-parser')
  
// Creating express Router
const router=express.Router()
var jsonParser= bodyParser.json()
var urlencodedParser =bodyParser.urlencoded({extended: false});
// Handling login request
router.get("/",(req,res,next)=>{
  res.render('home.ejs')
})


router.post("/", urlencodedParser, function (req,res){
  return res.redirect("/login");
})

router.get("/login",(req,res,next)=>{
  res.render("profile.ejs")
})


router.post("/login", urlencodedParser, function (req,res){

  console.log(req.body)
  //res.send(req.body.first)
  return res.redirect('/');

})
module.exports=router

In my Home.ejs I have two submit buttons, one for signing in, and one for exiting. At present, pressing either button takes me to the sign in page (profile.ejs) I am rendering (b/c there's only one render destination). Is there a way for me to differentiate which button was pressed in the javscript section so that I can chose which page I want to render. For example pressing the Sign In button would render one ejs template, whereas Exit would go to another template that I would render.

The first router.post is the post function where ideally the solution for differentiating would be since that is where I handle rendering the new page based on the post data.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You can assign a name to your inputs:

<input type="submit" value="SignIn" name="submit">
<input type="submit" value="Exit" name="submit">

Then check the value of submitted input and render/redirect based on that value:

const submit = req.body.submit;
if(submit === "SignIn"){
  //Do something
} else if(submit === "Exit"){
  //Do Something
} else {
}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!