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

229
Views
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 answers
Answer question

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 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!