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

203
Views
sessionStorage en el envío del formulario

Estoy creando un formulario y el atributo onsubmit tiene un método booleano de validación de formulario. Al final del método, no importa si ninguna de las entradas inválidas ha devuelto false o no, la variable sessionStorage debe actualizarse a true para que, al cargar la página nuevamente, la variable se vuelva a verificar. ¿Por qué la variable sigue siendo false si ninguna de las entradas devolvió false o no? Tenga en cuenta que el atributo de action de formulario conduce a la misma página (página de formulario). Así es como se ve mi validación:

 <form action="form.jsp" onsubmit="return validate()"> <input type="text" id="foo" /> <input type="submit"> </form>
 var input = document.getElementById("foo"); // textbox function validate() { if (input.value.trim() === "") { return false; } sessionStorage.setItem("submitted","true"); }

Tenga en cuenta que todas las entradas de formulario existen y la variable sessionStorage no se actualiza incluso después de que la función no devuelva false .

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

0

Intente envolver la llamada sessionStorage en un intento/captura para ver por qué está fallando.

 function validate() { var input = document.getElementById("foo"); // textbox console.log('validate', input); if (input.value.trim() === "") { return false; } try { sessionStorage.setItem("submitted", "true"); } catch (e) { console.log(e); return false; } // (for demostration purposes return false) return false; }
 <form onsubmit="return validate()"> <input type="text" id="foo" /> <input type=submit> </form>

Como alternativa, puede utilizar la casilla de verificación "Conservar registro" en DevTools para conservar los errores de la consola.

about 4 years ago · Juan Pablo Isaza Report

0

Mirando su código jsfiddle , la razón es porque está verificando su valor de esta manera:

 if (sessionStorage.getItem("submitted") == true)

Esto no es exacto ya que los datos almacenados allí son una cadena... así que para arreglar esto puedes hacer:

 if (sessionStorage.getItem("submitted") == 'true')

En realidad , ni siquiera puedes verificarlo así:

 if (sessionStorage.getItem("submitted"))

Porque eso devolverá true para cualquier valor no nulo, incluso 'false' .

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!