<tr id="sleepRangeTitle" style="display:none;"> <td class="head">Sleep Range Time:</td> <td class="headvalue"> <input type="text" id="startTime" name="startTime" pattern="[0-9]{2}:[0-9]{2}" placeholder="HH:MM" style="width: 60px;"> -- <input type="text" id="endTime" name="endTime" pattern="[0-9]{2}:[0-9]{2}" placeholder="HH:MM" style="width: 60px;"> </td> </tr> HH:MM时间戳输入时,怎么把冒号写死,不能删除
时间: 2023-07-21 20:59:50 浏览: 158
要确保冒号不能被删除,你可以使用JavaScript来限制输入框的内容,并在输入时自动插入冒号。下面是一个示例代码,演示如何实现:
HTML:
```html
<tr id="sleepRangeTitle" style="display:none;">
<td class="head">Sleep Range Time:</td>
<td class="headvalue">
<input type="text" id="startTime" name="startTime" oninput="addColon(event)" maxlength="5" placeholder="HH:MM" style="width: 60px;"> --
<input type="text" id="endTime" name="endTime" oninput="addColon(event)" maxlength="5" placeholder="HH:MM" style="width: 60px;">
</td>
</tr>
```
JavaScript:
```javascript
function addColon(event) {
var input = event.target;
var inputValue = input.value;
// 移除所有非数字字符
var formattedValue = inputValue.replace(/\D/g, '');
// 根据字符长度重新格式化时间
if (formattedValue.length > 2) {
formattedValue = formattedValue.slice(0, 2) + ':' + formattedValue.slice(2, 4);
}
// 更新输入框的值
input.value = formattedValue;
}
```
在上面的示例中,我们给每个输入框添加了`oninput`事件,每次输入时都会调用`addColon`函数。函数的逻辑与之前的示例类似,它会移除非数字字符并根据字符长度插入冒号来格式化时间。最后,更新输入框的值。
通过这种方式,用户无法直接删除冒号,而是在输入时保持了固定的格式(HH:MM)。
阅读全文