Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

356
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda