首页 文章

Bootstrap日期选择器在手动输入期间未验证格式

提问于
浏览
1

我正在使用bootstrap-datepicker.js(版本1.6.1)来显示带有dd / mm / yyyy格式的简单日期选择器 .

它初始化如下:

$e.datepicker({
      format: "dd/mm/yyyy"
     , endDate: ed // end date
     , autoclose: true
     , startDate: sd // start date
     , language: lang
 });

如果用户浏览日历并单击所需的日期,则datepicker工作正常并且日期正确设置为可配置格式 .

但问题来自于他在输入上手动输入日期 .

不知何故,如果用户手动键入DD / MM / YY ,则该值正被datepicker接受,并且不会自动转换为DD / MM / YYYY .

有谁知道这是对datepicker库的限制还是我在这里错过了一些配置?

1 回答

  • 0

    我想你可以用

    onkeydown="return false"
    

    避免手动输入 . 如果没有,您必须编写JS来格式化日期 . Datepicker自动从手动输入转换 .

    $('#txtDob').datepicker({
      format: 'dd/mm/yyyy',
      autoclose: true  
    });
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet" />
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker3.css" rel="stylesheet" />
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/locales/bootstrap-datepicker.de.min.js"></script>
    
    <form action="#" method="post">
      <label for="txtDob"></label>
      <input onkeydown="return false" type="text" id="txtDob" />
    </form>
    

相关问题