Javascript验证表单返回false无法在IOS中的Safari浏览器上工作

Javascript验证表单返回false无法在IOS中的Safari浏览器上工作,javascript,jquery,forms,safari,Javascript,Jquery,Forms,Safari,我已经写下了检查日期的条件,如果交付周期少于4小时,则显示错误消息,不允许采取进一步行动。在Android手机和网站上,它运行良好 在Iphone safari浏览器中,它不会显示我的消息,也不会返回false并继续执行下一个操作。我的代码怎么了 函数验证\u表单(){ var mytext=“”; document.getElementById(“mytext”).innerHTML=“”; 如果($(“#拾取时间”).val().trim()!=“”){ var inputDate=新日期

我已经写下了检查日期的条件,如果交付周期少于4小时,则显示错误消息,不允许采取进一步行动。在Android手机和网站上,它运行良好

在Iphone safari浏览器中,它不会显示我的消息,也不会返回false并继续执行下一个操作。我的代码怎么了

函数验证\u表单(){
var mytext=“”;
document.getElementById(“mytext”).innerHTML=“”;
如果($(“#拾取时间”).val().trim()!=“”){
var inputDate=新日期($(“#拾取时间”).val().trim();
var todaysDate=新日期();
if(inputDate.setHours(0,0,0,0)=Todaydate.setHours(0,0,0,0)){
var pickup_time=$(“#pickup_time”).val().trim();
var皮卡最小值=皮卡时间.substr(皮卡时间长度-2);
拾取时间=拾取时间.substr(拾取时间.length-5);
拾取时间=拾取时间substr(0,2);
变量日期=新日期();
var hours=date.getHours()<10?“0”+date.getHours():date.getHours();
var minutes=date.getMinutes()<10?“0”+date.getMinutes():date.getMinutes();
小时=小时+4;
如果(取货时间===小时){
如果(拾取时间>=分钟){
返回true;
}否则{
document.getElementById(“mytext”).innerHTML=“安排一辆车所需的最短交付周期为4小时!”;
返回false;
}
}否则如果(取货时间<小时){
document.getElementById(“mytext”).innerHTML=“安排一辆车所需的最短交付周期为4小时!”;
返回false;
}
}
}
}

取货日期和时间
下车日期和时间


验证中似乎存在一些逻辑流问题。要验证的条件究竟是什么?我相信有一种更简单、更有效的方法来实现它。是的,我知道逻辑流程似乎不符合要求。但它在android手机和网站上运行得非常好。条件是没有4小时的提前期,我不能预订一辆车。i、 e.从当前时间开始,至少需要4小时的时间间隔才能预订carNeed,需要更多的信息。您希望中的“#拾取时间”的值是什么格式?此外,您还存在一些值类型和比较问题。具体来说,
picku\u time
picku\u min
始终是字符串,但您要将它们与
hours
minutes
进行比较,它们可以是字符串,也可以是整数,具体取决于当前时间。特别是在小时数检查的情况下(使用
=
),当
hours
为整数时,这将始终失败,因此,理论上,行为上的差异可能实际上是因为使用不同的拾取时间值进行测试。我从拾取时间获取的格式为2019年5月17日星期五10:40:00 GMT+0530(印度标准时间)。与我尝试使用===和==进行的比较。还将两者解析为相同的格式并进行检查,例如:在IOS中拾取的分钟数和分钟数仍未解决验证中似乎存在一些逻辑流问题。具体情况是什么要验证吗?我相信有一种更简单、更有效的方法可以实现。是的,我知道逻辑流程似乎不符合要求。但它在android手机和网站上运行得非常好。条件是我不能在提前4小时的情况下预订一辆车。也就是说,从当前时间到预订一辆车至少需要4小时的间隔,需要更多的信息n…您希望从“#取货时间”中获得什么格式的值此外,您还存在一些值类型和比较问题……具体来说,
picku time
picku min
始终是字符串,但您将它们与
hours
minutes
进行比较,这可能是字符串,也可能是整数,具体取决于当前时间。特别是在小时数c的情况下heck(使用
=
),当
hours
是一个整数时,这将始终失败,因此,理论上,行为上的差异可能实际上是因为使用不同的拾取时间值进行测试。我从#拾取时间获得的格式是2019年5月17日星期五10:40:00 GMT+0530(印度标准时间).和我用===和==试过的比较。还将两者解析为相同的格式,并检查例如:在IOS中的拾取时间和分钟数仍然没有解决