как сделать двухкратный ввод, один из которых всегда больше другого за один час - PullRequest
0 голосов
/ 05 июня 2018

Я хочу изменить endH, как только я введу startH, чтобы стать на 1 час больше

<input type="time" id="startH">
<input type="time" id="endH">

Я использовал DatePicker для даты, но я заблудился, как решить проблему с часами
Например:началоH 16:00 конецH 17: 00

Ответы [ 2 ]

0 голосов
/ 06 июня 2018
<html>
<body>
<form>
<p>Click the button to parse different strings.</p>
<input type="time" value="00:00" id="startH" > 
<input  type="time" id="endH">
<button >Try it</button>
</form>


<script>


function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }
String.prototype.toHHMMSS = function () {
    var sec_num = parseInt(this, 10);
    var hours   = Math.floor(sec_num / 3600);
    var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
    var seconds = sec_num - (hours * 3600) - (minutes * 60);

    if (hours   < 10) {hours   = "0"+hours;}
    if (minutes < 10) {minutes = "0"+minutes;}
    if (seconds < 10) {seconds = "0"+seconds;}
    return hours+':'+minutes+':'+seconds;
}

    return s;
}
document.getElementById("startH").onchange = function (){
  var starthstr = 60*hmsToSecondsOnly(document.getElementById("startH").value);
  starthstr = starthstr.toString().toHHMMSS()
  starthstr = hmsToSecondsOnly(f);
  starthstr = starthstr + 1*(60*60);
  var endHstr = starthstr.toString().toHHMMSS();
  document.getElementById("endH").min=endHstr;
  document.getElementById("endH").value =endHstr;
}
</script>

</body>
</html>

это было мое решение с помощью некоторых кодов стекопотока и тим за помощь мне

0 голосов
/ 05 июня 2018

Используя JavaScript, сначала получите значение StartH.

, вы можете сделать что-то вроде:

var startHStr = document.getElementById("startH").value;

, он вернет строку типа "08:30" (читайте документация )

Затем напишите какой-нибудь код, чтобы сделать его строкой на час позже "09:30".

Назначить эту новую строку для endH Dom Object

document.getElementById("startH").value = endHStr; // endHString = "09:30"

Вы можете написать этот код в функции обработчика событий onchange объекта startH, например:

document.getElementById("startH").onchange = function (){
    // your logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...