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

228
Vistas
fechas mínimas y máximas, el detector de eventos onchange no funciona correctamente hasta la fecha

Estoy tratando de aplicar el mínimo y el máximo para dos entradas de fechas, a saber:

 <input type="date" name="proposal_from" id="proposal_from" /> <input type="date" name="proposal_to" id="proposal_to" /> <script type="text/javascript"> var proposal_from = document.getElementById("proposal_from"); var proposal_to = document.getElementById("proposal_to"); function setFromDate() { var today = new Date(); var dd = String(today.getDate()).padStart(2, '0'); var mm = String(today.getMonth() + 1).padStart(2, '0'); var minY = today.getFullYear(); var maxY = today.getFullYear() + 1; var minimum = minY + '-' + mm + '-' + dd; var maximum = maxY + '-' + mm + '-' + dd; proposal_from.min = minimum; proposal_from.max = maximum; } setFromDate(); proposal_from.addEventListener("change", function(){ var date = proposal_from.value.split("-"); var from_dd = date[2]; var from_mm = date[1]; var from_Y = date[0]; from_dd++; var min_to_dd; if(from_dd < 9){ min_to_dd = "0" + from_dd; } else { min_to_dd = from_dd; } var min_to_mm = from_mm; var min_to_Y = from_Y; from_Y++; var max_to_dd; if(from_dd < 9){ max_to_dd = "0" + from_dd; } else { max_to_dd = from_dd; } var max_to_mm = from_mm; var max_to_Y = from_Y; var minimum = min_to_Y + '-' + min_to_mm + '-' + min_to_dd; var maximum = max_to_Y + '-' + max_to_mm + '-' + max_to_dd; console.log(minimum); console.log(maximum); proposal_to.min = minimum; proposal_to.max = maximum; }); </script>

el detector de eventos parece funcionar ahora, las fechas mínimas y máximas se establecen como debería ser la fecha impresa en la consola y los valores de fecha son completamente correctos. Antes, por ejemplo, si elijo la fecha 2021-10-04, obtengo un mínimo de 2021-10-5 y 2022-10-5 en lugar de 2021-10-05 y 2022-10-05, ¿hay alguna forma de hacerlo con . padStart()?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe usar la misma lógica que usó para rellenar ceros en setFromDate en su evento de cambio también.

¿Por qué se necesita esto?

Está realizando una operación incremental en from_dd usando from_dd++ , esto convertirá su tipo de Cadena a Número. Así que vuelva a convertirlo en cadena y realice su lógica de relleno numérico.

 function setFromDate() { var today = new Date(); var dd = String(today.getDate()).padStart(2, '0'); var mm = String(today.getMonth() + 1).padStart(2, '0'); var minY = today.getFullYear(); var maxY = today.getFullYear() + 1; var minimum = minY + '-' + mm + '-' + dd; var maximum = maxY + '-' + mm + '-' + dd; console.log(minimum) proposal_from.min = minimum; proposal_from.max = maximum; } setFromDate(); proposal_from.addEventListener("change", function () { var date = proposal_from.value.split("-"); var from_dd = date[2]; var from_mm = date[1]; var from_Y = date[0]; from_dd++; var min_to_dd = String(from_dd).padStart(2, '0') var min_to_mm = from_mm; var min_to_Y = from_Y; from_Y++; var max_to_dd = String(from_dd).padStart(2, '0') var max_to_mm = from_mm; var max_to_Y = from_Y; var minimum = min_to_Y + '-' + min_to_mm + '-' + min_to_dd; var maximum = max_to_Y + '-' + max_to_mm + '-' + max_to_dd; proposal_to.min = minimum; proposal_to.max = maximum; });
 <input type="date" name="proposal_from" id="proposal_from" /> <input type="date" name="proposal_to" id="proposal_to" />

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