2017-04-25 245 views
-1
<div class="col-sm-5"> 
    <script type="text/javascript"> 
     function validateDate(){ 
      var selectedDate = $('#form-control datepicker').datepicker('getDate'); 
      var now = new Date(); 
      now.setHours(0,0,0,0); 
      if (selectedDate < now) { 
       // selected date is in the past 
      } 
     } 
    </script> 
    <input type="text" name="birth_date" class="form-control datepicker" id="field-1" onsubmit="validateDate()"> 
</div> 

不验证使用此javascript的输入日期。 想要插入小于当前日期的日期。检查出生日期是否小于系统的当前日期?

+2

我会建议整理您的代码,然后使用问题编辑器的代码块功能来确保您的内容正确显示。另外“不验证”不是一个很好的问题描述。查看[问],[帮助]和[mcve]。 – CollinD

+0

一个输入没有onsubmit事件 – charlietfl

回答

0

input元素没有submit事件; form s做。假设你希望你的代码运行,当用户按下回车键时,您需要:

  • 包裹inputform元素,并使用formonSubmit属性
  • 返回从当验证了您的处理程序错误失败

JavaScript code to stop form submission

1

如果我正确地读你的问题,你想的JavaScript来防止表单提交时selectedDate小于now。为了传递这个信息,你需要return false;在你的JavaScript:

<script type="text/javascript"> 
function validateDate(){ 
    var selectedDate = $('#form-control datepicker').datepicker('getDate'); 
    var now = new Date(); 
    now.setHours(0,0,0,0); 
    if (selectedDate < now) { 
    // selected date is in the past 
    return false; 
    } 
} 
</script> 

为了得到这个JavaScript函数打开,你需要一个<form>与JavaScript函数的onsubmitreturn S中的价值,以及作为一种提交表格:

<form onsubmit="return validateDate();"> 
<input type="text" name="birth_date" class="form-control datepicker" id="field-1"> 
<input type="submit"> 
</form> 
+0

需要更改javascript上的id然后才能正常工作。 我希望能够选择对应从1岁到100岁(1世纪)的出生日期,即输入必须小于系统的当前日期,因此可以选择不少于1个世纪。 你能帮我解决这个问题吗? :(