Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入的时间加30分钟_Javascript_Html - Fatal编程技术网

Javascript 输入的时间加30分钟

Javascript 输入的时间加30分钟,javascript,html,Javascript,Html,我有2个输入(type=“time”)。我希望在第一个输入字段中输入的时间为+30分钟,并将其写入第二个输入字段。可能吗?我不太擅长JS:I <html> <form> <label for="start">Start: <input type="time" id="start" name="start" step="600"> </label><br> <label for="

我有2个输入(type=“time”)。我希望在第一个输入字段中输入的时间为+30分钟,并将其写入第二个输入字段。可能吗?我不太擅长JS:I

<html>
    <form>
        <label for="start">Start: <input type="time" id="start" name="start" step="600"> </label><br>
        <label for="ende">Ende:  <input type="time" id="ende" name="ende" step="600"> </label>
        <input type="submit" value="senden">
    </form>
</html>

。。。但是如何添加30分钟?

您可以在“:”处拆分该值,如此处所述: 然后,通过访问被拆分数组的正确位置并向其中添加30来获得分钟数。然后将值重新组合在一起,并执行以下操作:

document.getElementById("ende").value = newTime;

newTime是添加了30分钟的字符串。

时间输入存储一个字符串值,格式为
xx:xx
,其思想是向开始输入添加一个
change
事件侦听器,获取其值,向其添加30分钟,然后将其分配给结束输入

下面是一个可运行的代码段,其中显示了一个可能的解决方案,并附有逐步注释:

//获取输入元素
const start=document.getElementById('start');
const end=document.getElementById('ende');
//将更改事件侦听器添加到开始输入
start.addEventListener('change',()=>{
//以整数值形式获取小时和分钟
让hours=parseInt(start.value.split(“:”)[0]);
让minutes=parseInt(start.value.split(“:”)[1]);
//再加30分钟
分钟+=30;
//如果超过一小时,则将其添加到小时
//并说明一天过去了
如果(分钟>=60){
小时=(小时+1)%24;
分钟-=60;
}
//将值重新格式化为固定长度为2的字符串
小时数=(小时数<10?`0${hours}`:`${hours}`);
分钟=(分钟<10?`0${minutes}`:`${minutes}`);
//为结束输入指定新值
end.value=`${hours}:${minutes}`;
});

开始:
恩德:
document.getElementById('start')。值+30以及如何将结果(输入的时间+30分钟)写入第二个输入字段?“运行代码片段”不起作用。但它看起来不错,我会在代码中检查它。:)我得到这个错误:错误:{“message”:“Syntaxfehler”,“filename”:“,“lineno”:20,“colno”:37}我在Chrome中测试了它,它工作了。在Internet Explorer中,它不会。不要问我为什么使用资源管理器:D@qpA我怀疑Internet Explorer与JS有问题。您可以修改此解决方案以使用
+
符号生成字符串来修复此问题。例如,如果您有一个04:35的输入,并且必须添加30分钟,该怎么办?
document.getElementById("ende").value = newTime;