Javascript 如何使用setCustomValidity()API将错误消息添加到时间表单
我试图向InputElement表单显示一条错误消息,以向用户显示特定时间不可用。我看过约束验证API的不同示例,但我不确定如何为时间表单实现这一点。有人能举个例子来解释一下吗Javascript 如何使用setCustomValidity()API将错误消息添加到时间表单,javascript,jquery,html,time,Javascript,Jquery,Html,Time,我试图向InputElement表单显示一条错误消息,以向用户显示特定时间不可用。我看过约束验证API的不同示例,但我不确定如何为时间表单实现这一点。有人能举个例子来解释一下吗 var-time=document.getElementById(“#validtime”); 时间。addEventListener(“输入”,函数(事件){ if(有效期){ time.setCustomValidity(“时间不可用,请选择其他时间”); }否则{ time.setCustomValidity(“
var-time=document.getElementById(“#validtime”);
时间。addEventListener(“输入”,函数(事件){
if(有效期){
time.setCustomValidity(“时间不可用,请选择其他时间”);
}否则{
time.setCustomValidity(“”);
}
});代码>
时间
您的代码中有一些错误。
在任何情况下,假设您不希望用户可以输入时间“00:00”。在这种情况下,您可以执行以下操作:
document.querySelector('[type=submit]').style.visibility='hidden';
document.getElementById(“validtime”).addEventListener(“输入”,函数(事件){
如果(“00:00 | 01:00 | 11:00”。indexOf(this.value)!=-1){
此.setCustomValidity(“时间不可用,请选择其他时间”);
this.closest('form')。查询选择器('[type=submit]')。单击();
}否则{
本协议有效期为(“”);
}
});代码>
时间
谢谢您的回答。它工作得非常好,我试图在没有validate按钮的情况下输入不需要的时间时显示错误消息。并让用户选择不同的时间。这仍然可以实现吗?谢谢你的更新,我可以看到按钮隐藏在代码片段中,但是在我的网页上,按钮仍然可以在左侧看到。不知道为什么,所以我不得不用css来隐藏它:。我猜这是另一种隐藏它的方式。我如何使多次不可用?我尝试了or | |运算符,但它不起作用。如果(this.value==“00:00 | 01:00 | 11:00”).indexOf(“01:00”)!=-1)这会给我错误消息,以便随时进行选择。如果您可以显示或更新代码片段以允许多次禁用,我们将不胜感激。