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

200
Views
redirección condicional múltiple cuando el usuario completa un formulario

Quiero redirigir al usuario a diferentes páginas dependiendo de lo que completó en un campo de entrada.

ejemplo :

  • cuando escriba 1 o 2 será redirigido a google
  • cuando escriba 3 o 4 será redirigido a facebook
  • cuando escriba 5 será redirigido a stackoverflow

de lo contrario mostrar un mensaje

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

0

Intente usar la instrucción if else y window.location.href para guiar al usuario a la ventana de destino.

 function redirect() { const inputVal = Number(document.getElementById("inputVal").value); let url = ""; if (inputVal) { if (inputVal === 1 || inputVal === 2){ url = "https://www.google.com" } else if (inputVal === 3 || inputVal === 4){ url = "https://www.facebook.com" } else { console.log('Redirect Not Defined!!') } } if (url) { window.location.href = url } } document.getElementById("redirectButton").addEventListener("click", redirect);
 <input type="number" value=1 id="inputVal" /> <button type="button" id="redirectButton"> Redirect </button>

about 4 years ago · Juan Pablo Isaza Report

0

Normalmente no recomiendo la declaración de cambio, pero aquí es apta

Tenga en cuenta que aquí en SO la acción puede estar bloqueada

 document.getElementById("myForm").addEventListener("submit", function(e) { let loc = ""; switch (+document.getElementById("inputVal").value) { case 1: case 2: loc = "https://www.google.com"; break; case 3: case 4: loc = "https://www.facebook.com" break; case 5: loc = "https://stackoverflow.com"; break; default: console.log('Redirect Not Defined!!') e.preventDefault(); // cancel submit } if (loc) this.action = loc; })
 <form id="myForm" target="_blank"> <input type="number" value=1 id="inputVal" /> <button type="submit"> Redirect </button> </form>

about 4 years ago · Juan Pablo Isaza Report

0

Aquí hay otra sugerencia viable que usa un objeto como un mapa que hace referencia a las ubicaciones deseadas por índice:

 const EL = (sel, EL) => (EL || document).querySelector(sel); const navigate = () => { const addr = [ "google.com", "facebook.com", "stackoverflow.com", ]; const maps = { 1: 0, 2: 0, 3: 1, 4: 1, 5: 2, }; const EL_num = EL("#num"); const url = addr[maps[EL_num.value]]; if (url) return location.assign(`https://${url}`); console.log("Coudn't navigate"); }; EL("#go").addEventListener("click", navigate);
 <input id="num" type="number" value="1"> <button id="go" type="button">Go</button>

mucho más limpio que usando sentencias if o switch .

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!