Chrome浏览器中对form表单用onsubmit进行拦截后无法再次提交的问题

Chrome浏览器中对form表单用onsubmit进行拦截后无法再次提交的问题

今天在项目开发的过程中遇到这样一个问题,就是在chrome浏览器中form表单被拦截后无法再度提交。

项目中有这样一个需求,验证两个时间的先后关系。

我写了一个方法:

  
  1. function checkdatetime(){
  2. var startDt=Date.parse($("#startDtString").val());
  3. var expireDt=Date.parse($("#expireDtString").val());
  4. if(startDt>=expireDt){
  5. alert("请检查日期,开始时间晚于结束时间");
  6. return false;
  7. }
  8. }

然后form如下:

  
  1. <form onsubmit="return checkdatetime()"< /span>>
  2. <input onclick="WdatePicker({dateFmt:'<%=Wcsecondhit.FORMAT_EXPIRE_DT%>'})" id="expireDtString" name="expireDtString" />
  3. <input onclick="WdatePicker({dateFmt:'<%=Wcsecondhit.FORMAT_EXPIRE_DT%>'})" id="expireDtString" name="expireDtString" />
  4. <input type="submit" value="submit"/>
  5. </form>

结果第一次弹出“请检查日期,开始时间晚于结束时间”提示后,无法再提交表单了。百度了一下,说的方法都不适用。

我的解决方法是这样的:

  
  1. <form >
  2. <input onclick="WdatePicker({dateFmt:'<%=Wcsecondhit.FORMAT_EXPIRE_DT%>'})" id="expireDtString" name="expireDtString" />
  3. <input onclick="WdatePicker({dateFmt:'<%=Wcsecondhit.FORMAT_EXPIRE_DT%>'})" id="expireDtString" name="expireDtString" />
  4. <input type="submit" onclick="return checkdatetime()"< /span> value="submit"/>
  5. </form>

把该验证方法移到 submit的按钮中就OK了!

推荐阅读